STM32CubeMX实现STM32 CAN总线

一、CAN原理

参考:STM32 的 CAN 通讯全攻略_stm32的can通信-优快云博客

STM32入门教程(CAN通信篇)_stm32 can-优快云博客

 STM32CubeIDE——CAN中断接收、阻塞发送_mcu can通信中断函数-优快云博客

二、STM32CubeMX配置can

 参考:STM32CubeMX 配置CAN通信 HAL库_stm32cubemx can-优快云博客

  1. RCC开启外部高速时钟(略)
  2. 配置STLink调试口(略)
  3. 配置串口方便调试输出(略)
  4. 配置工程名、生成路径,之后生成工程(略)
  5. 配置CAN

CAN波特率 = 时钟频率 / ((时间单元1+时间单元2+重新同步跳跃时间单元)* 分频系数)

上图设置波特率为:500kbps = 36M/((8+9+1)*4)

  1. 时间触发模式(Time Triggered Communication Mode):会自动为报文生成时间戳,没有研究过,暂时默认关闭。
  2. 自动总线关闭管理(Automatic Bus-Off Management):没有研究过,暂时默认关闭。
  3. 自动唤醒模式(Automatic Wake-Up Mode):使能后,当CAN外设在休眠状态时如果CAN总线有数据,则自动唤醒CAN外设。建议使能。
  4. 自动重发(Automatic Retransmission):使能后,如果因为仲裁失败(总线冲突)或是其他原因导致发送失败,会自动重发。建议使能。
  5. 接收FIFO锁定模式(Receive Fifo Locked Mode):如果使能,当接收FIFO满时,下一条数据会被丢失。如果不使能,则覆盖前面的数据。
  6. 发送FIFO优先级(Transmit Fifo Priority):当发送邮箱中同时有多个帧,是按照先进先出的顺序发送还是按照ID的优先级发送。如果不使能,则按照ID优先级发送。如果使能,则按照先进先出优先级发送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值