STM32 的 CAN 总线调试心得 (一 ) 工业现场总线 CAN 的基本介绍以及 STM32 的 CAN 模块简介 C A N 总线特点: (1) 数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序,高优先级节点信息在134μs 通信 ; (2) 多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞; (3) 通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小40M); (4) CAN 总线传输介质可以是双绞线,同轴电缆
CAN 总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用
发送 · 3 个发送邮箱 · 发送报文的优先级特性可软件配置 · 记录发送 SOF 时刻的时间戳 接收 · 3 级深度的2 个接收 FIFO · 14 个位宽可变的过滤器组 - 由整个 CAN 共享 · 标识符列表 · FIFO 溢出处理方式可配置 · 记录接收 SOF 时刻的时间戳 可支持时间触发通信模式 · 禁止自动重传模式 · 16 位自由运行定时器 · 定时器分辨率可配置 · 可在最后 2 个数据字节发送时间戳 管理 · 中断可屏蔽 · 邮箱占用单独 1 块地址空间,便于提高软件效率 (二 ) STM32 CAN 模块工作模式 STM32 的 can 的工作模式分为: /* CAN operating mode */ #define CAN_Mode_Normal ((u8)0x00) /* normal mode,用于多节点通信 */ #define CAN_Mode_LoopBack ((u8)0x01) /* loopback mode,回环模式用于自测试 */ #define CAN_Mode_Silent