杰发科技AC7840——CAN通信简介(8)_通过波特率和时钟计算SEG_1/SEG_2/SJW/PRESC

通过公式计算

 *  波特率和采样点计算公式:*  tSeg1 = (S_SEG_1 + 2); tSeg2 = (S_SEG_2 + 1).*  BandRate = (SCR_CLK / (S_PRESC + 1) / ((S_SEG_1 + 2) + (S_SEG_2 + 1))), SCR_CLK 为CAN 模块源时钟*  SamplePoint = (tSeg1 / (tSeg1 + tSeg2)).
{0x0D, 0x04, 0x04, 0x3B},  // SEG_1, SEG_2, SJW, PRESC  50K, 75%  
{0x0D, 0x04, 0x04, 0x1D},  // SEG_1, SEG_2, SJW, PRESC 100K, 75%  
{0x0D, 0x04, 0x04, 0x02},  // SEG_1, SEG_2, SJW, PRESC   1M, 75%  
{0x15, 0x06, 0x06, 0x00},  // SEG_1, SEG_2, SJW, PRESC   2M, 77%  
{0x09, 0x03, 0x03, 0x00},  // SEG_1, SEG_2, SJW, PRESC   4M, 73%  
{0x05, 0x02, 0x02, 0x00},  // SEG_1, SEG_2, SJW, PRESC   6M, 70%  
{0x04, 0x01, 0x01, 0x00},  // SEG_1, SEG_2, SJW, PRESC 7.5M, 75%

把公式给文心一言

用文心一言验证50K配置

用文心一言验证100K配置

用文心一言验证7.5M配置

上述验证全部正确,计算60Mhz 5M 75%配置

60Mhz 5M 75%
{0x07, 0x02, 0x01, 0x00}

测试OK

上述验证全部正确,计算60Mhz 500K 80%配置

因为1M的分频在2,

并且普通CAN的分频也是2,

因此设置预分频2来计算配置(之前默认0计算结果都错的)

60Mhz 500K 80%
{0x1E, 0x07, 0x01, 0x02}

测试OK

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构——链式队列和循环队列

目录 引言 队列的定义 队列的分类 1.单链表实现 2.数组实现 队列的功能 队列的声明 1.链式队列 2.循环队列 队列的功能实现 1.队列初始化 (1)链式队列 (2)循环队列 (3)复杂度分析 2.判断队列是否为空 (1)链式队列 (2)循环队列 (3)复杂度分析 3.判断队列是否…

26.删除有序数组中的重复项---力扣

题目链接: . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/remove-duplicates-from-sorted-array/descript…

仿Muduo库实现高并发服务器——Server.hpp框架的简单描述

EventLoop模块在本项目中的简单使用: 下面这张图 是channel模块,poller模块,TimerWheel模块,EventLoop模块,LoopThreadPool模块进行组合。便于大家对这个项目的理解,因为代码看起来挺复杂的。 下面这个图&…

招募活动投稿展示 | 感受科技温度,从一个 LLM 应用开始

活动介绍 谷歌开发者招募活动是专为 Google 技术的爱好者及开发者们开展的活动,旨在鼓励大家通过多种形式 (文章/视频/coding 等) 创作与 Google 技术相关的讲解分享、实践案例或活动感受等内容,展示代码、框架、平台在真实世界中的生动表现,…

详解Spring Bean的生命周期

详解Bean的生命周期 前言 在我们没有使用Spring框架之前,创建对象一般都是使用new关键字进行创建,当然除了new关键字外,还有 运用反射手段,使用Class类的newInstance方法 或者 Constructor类中的newInstance方法使用clone方法使…

找到sql里面参数字段占位符的位置,方便对字段进行加密存储

CCJSqlParserUtil工具是强大,难用也是真的,得分析sql的各种各样的表达式。从中递归找出业务需要的。 public class SqlExpressionAnalyzer {public static void main(String[] args) {String sql "select id,user_name from sys_user t1,sys_offi…

JavaScript语法基础之DOM基础

目录 1. DOM 基础 1.1. DOM 是什么? 1.1.1. DOM 对象 1.1.2. DOM 结构 1.2. 节点类型 1.3. 获取元素 1.3.1. getElementById() 1.3.2. getElementsByTagName() 1.3.3. getElementsByClassName() 1.3.4. getElementsByName() 1.4.如何去操作对象 修改属性…

Jenkins 定时触发策略

每天晚上 11 点执行一次,可以按照以下步骤进行。 复制代码 import jenkins import datetime import base64USERNAME bUFNXssaaX0NU\n PASSWORD bUFNXXssdds0Ndclass JenkinsMonitor:def __init__(self, jobs_to_monitor):self.jenkins_url "http://pe-dddd…

fastJSON工具类

1 总结 1&#xff1a; JSONObject&#xff1a; 理解为 Map 2&#xff1a;JSONArray &#xff1a; 理解为List<Map> 3&#xff1a;JSON.toJSONString()&#xff1b;会将时间转为时间戳 4&#xff1a;toJSONStringWithDateFormat 同一个字符串中 时间格式是统一格式 2 转成…

IP SSL证书的未来趋势:适应不断变化的安全挑战

随着网络攻击手段的不断进化和用户对隐私保护意识的增强&#xff0c;IP SSL证书作为保障网络安全的关键组件之一&#xff0c;也在不断地发展和完善。本文将探讨IP SSL证书的未来趋势&#xff0c;以及如何适应这些不断变化的安全挑战。 当前状况与挑战 网络安全意识提升&#…

ARM 裸机与 Linux 驱动对比及 Linux 内核入门

目录 ARM裸机代码和驱动的区别 Linux系统组成 内核五大功能 设备驱动分类 内核类型 驱动模块 驱动模块示例 Makefile配置 命令 编码辅助工具 内核中的打印函数 printk 函数 修改打印级别 ​编辑 打印级别含义 驱动多文件编译 示例 模块传递参数 命令行传递参数…

AND 运算符的优先级高于 OR

在 SQL 中&#xff0c;AND 运算符的优先级高于 OR。这意味着您的查询可能会不按预期执行。为了确保逻辑的正确性&#xff0c;您可能需要使用括号来明确指定运算符的优先级。 正确的&#xff1a;and后用括号把or括起来 SELECT * FROM student WHERE data_status 0 AND (name L…

python-docx 实现 Word 办公自动化

前言&#xff1a;当我们需要批量生成一些合同文件或者简历等。如果手工处理对于我们来说不仅工作量巨大&#xff0c;而且难免会出现一些问题。这个时候运用python处理word实现自动生成文件可极大的提高工作效率。 python-docx是python的第三方插件&#xff0c;用来处理word文件…

图像直方图比较

对于直方图的比较&#xff0c;我们可以使用 OpenCV 提供的函数 compareHist() 进行比较&#xff0c;从而得到一个数值&#xff0c;表示两个直方图的匹配程度&#xff08;相似性&#xff09;。 原理 对于两个直方图&#xff08; H 1 H_{1} H1​ 和 H 2 H_{2} H2​&#xff09…

【大数据】基础认知入门

目录 前言阅读对象阅读导航前置知识笔记正文一、什么是大数据1.1 定义1.2 特点1.3 数据结构1.4 补充总结 二、大数据能用来干什么2.1 应用方向2.2 应用场景&#xff08;简述&#xff09;2.3 总结 三、大数据一般性过程四、给自己的作业 感谢说在后面 前言 唉&#xff0c;最近有…

Kubectl命令、初识pod、namespace

文章目录 一、Kubectl简介基础命令1.基本信息命令2.创建和更新资源命令3.删除资源命令4. 查看日志和调试命令5. 端口转发和复制文件命令6. 部署管理命令7. 伸缩命令8. 配置和上下文管理命令9.常用命令 二、Pod简介核心概念pod常见状态调度和初始化阶段容器创建和运行阶段异常状…

Qt网络通信——TCP和UDP

一、TCP通信 TCP通信必须先建立 TCP 连接&#xff0c;通信端分为客户端和服务器端。 Qt 为服务器端提供了 QTcpServer 类用于实现端口监听&#xff0c;QTcpSocket 类则用于服务器和客户端之间建立连接。大致流程如下图所示&#xff1a; 1. 服务器端建立 1.1 监听——listen() …

PPP简介

介绍PPP特性的定义和目的。 定义 PPP&#xff08;Point-to-Point Protocol&#xff09;协议是一种点到点链路层协议&#xff0c;主要用于在全双工的同异步链路上进行点到点的数据传输。 目的 PPP协议是在串行线IP协议SLIP&#xff08;Serial Line Internet Protocol&#x…

【Android高级UI】将View或Layout裁剪为任意形状

需求 将View裁剪为指定形状 将Layout裁剪为指定形状&#xff0c;并且Children不能超过裁剪范围 应用 圆角图片异形图片圆角Layout 方案 通过ViewOutlineProvider裁剪控件范围 实现 fun View.getMeasureSize(): Size {val widthSpec View.MeasureSpec.makeMeasureSpec(…

代码随想录:动态规划6-10

62、不同路径 题目 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径…