适合初学者的STM32 CAN协议理解总结( ISO11898 标准)

暑假学习的时候看到了CAN总线,几个小伙伴好像看的都比较苦恼。是的,对于大量的说明难免有些不想看,看不懂为什么要把TIM这些东西设为1,很多字符又代表什么意思......但对知识的畏惧是无法向前的。静下心来慢慢看就好了!我在这里记录一些我学习CAN协议过程中的理解总结,希望能帮到一些初学者。

 

CAN的组成框图

下图为互联网型的双CAN框图:

我使用的F103ZET6只有一个串口,其中3个发送邮箱3个FIFO0与FIFO1接受是十分重要的部分,左边的是一些相关状态或控制寄存器。先眼熟一下,接下来会用到他们。(大量的寄存器字符就是左边那些要用到的)

CAN的发送流程

CAN 发送流程为:程序选择 1 个空置的邮箱(TME=1)→设置标识符(ID),数据长度和发送数据→设置 CAN_TIxR 的 TXRQ 位为 1,请求发送邮箱挂号(等待成为最高优先级)→预定发送(等待总线空闲)→发送邮箱空置

  • 22
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值