
CAN通信
文章平均质量分 84
月阳羊
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal、spss、sas等单词的拼写,熟悉Windows、Linux、Mac、Android、IOS、WP等开关机
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【通信协议】CAN总线通信协议的学习,(七)CANopen协议的学习
CANopen 是一种基于 CAN(Controller Area Network)总线的高层协议,用于工业自动化、车辆、船舶、医疗设备等众多领域的设备间通信。它是在 CAN 物理层和数据链路层之上构建的应用层协议,在 1993 年由 CiA(CAN in Automation)协会发布,目的是为了使不同厂商的设备能够方便地在 CAN 总线上进行通信。原创 2024-11-30 10:30:00 · 961 阅读 · 0 评论 -
【通信协议】CAN总线通信协议的学习,(六)CAN中断接收时,如何避免在中断服务程序中执行时间过长。
在 CAN 中断接收数据时进行大量复杂的操作确实可能导致中断服务程序(ISR)执行时间过长。因为中断服务程序应该尽可能快地执行完毕,以保证系统能够及时响应其他重要事件。这可能会引发一些问题,比如丢失其他中断请求、影响系统的实时性等。原创 2024-11-29 13:30:00 · 404 阅读 · 0 评论 -
【通信协议】CAN总线通信协议的学习,(五)如何保证传输数据的正确性??
利用can通信传输实时温度数据,怎么保证这些数据的正确性呢,有哪些方案呢。循环冗余校验(CRC)原创 2024-11-29 10:00:00 · 1156 阅读 · 0 评论 -
【通信协议】CAN总线通信协议的学习,(四)CAN传输的数据如何辨别是哪一个MCU单片机发出的?
好几个stm32单片机通过can通信传输数据,传输的都是相类似的温度实时数据,那上位机一端,如何辨别传输的数据是哪一个单片机的呢?原创 2024-11-28 13:00:00 · 1060 阅读 · 0 评论 -
【通信协议】CAN总线通信协议的学习,(三)stm32f103系列单片机,can通信的代码实现
的主要功能是将一个待发送的 CAN 消息添加到发送邮箱中,以便通过 CAN 总线进行传输。定义CAN发送/接收消息的结构体,在main中或者can.c中都可以,定义。函数用于从指定的 CAN 控制器接收邮箱中获取接收到的 CAN 消息。关于过滤器的讲解视频,可以参考:视频的18.13进度,有个示例讲解。过滤器掩码中,0表示不对ID做任何反应,1表示必须与ID的位号相同。这个是stm32 标准库代码,和上面两种hal库代码不同。初始化,在main函数中进行,标准库,过滤器初始化的代码。上述代码所使用的一个。原创 2024-11-28 10:00:00 · 1619 阅读 · 0 评论 -
[通信协议】CAN总线通信协议的学习,(二)stm32f103芯片cubemx配置,CAN总线配置,参数计算及配置
重新同步跳跃宽度(SJW)定义了,在每位中可以延长或缩短多少个时间单元的上限。其值可以编 程为1到4个时间单元。有效跳变被定义为,当bxCAN自己没有发送隐性位时,从显性位到隐性位的第1次转变。如果在时间段1(BS1)而不是在同步段(SYNC_SEG)检测到有效跳变,那么BS1的时间就被延长 最多SJW那么长,从而采样点被延迟了。相反如果在时间段2(BS2)而不是在SYNC_SEG检测到有效跳变,那么BS2的时间就被缩短最多 SJW那么长,从而采样点被提前了。原创 2024-11-27 11:07:13 · 1924 阅读 · 0 评论 -
【通信协议】CAN总线通信协议的学习(一)基础理论知识学习
CAN:controller area network ,是控制器局域网的简称,在汽车领域和工业控制领域应用比较广泛。参考:[1-2] 帧格式_哔哩哔哩_bilibiliCAN通信是异步、半双工、多主机串行通信。异步通讯:无需时钟线,只具有 CAN_High 和 CAN_Low 两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。半双工:can协议上只有一对差分信号,一个时刻只能表示一个信号,所以收发数据需要分时进行。多主机:在can总线上可以挂载多个控制器设备节点,相互之间可以通信串行通信:是只原创 2024-11-27 10:59:24 · 1176 阅读 · 0 评论