来源:博客园 - 郭润
1、STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下:
<img src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99386-1.png&q…; alt="STM32 CAN控制器简介"><br>
2、模式:分为工作模式、测试模式、调试模式
<img src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99387-2.png&q…; alt="STM32 CAN控制器简介"><br>
睡眠模式主要用于降低功耗!
在静默模式下的工作原理
<img src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99388-3.png&q…; alt="STM32 CAN控制器简介"><br>
由图可知,它只会接受来自于can的数据,不会发送数据,其CANTX始终为1.可以监控总线上的数据
环回模式的工作原理:
<img src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99389-4.png&q…; alt="STM32 CAN控制器简介"><br>
它只能发送到CAN总线上,不能接收,但是他在自己内部有一个环路,可以发回给自己,即可以自发自收。
环回静默模式的工作原理:
<img src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99390-5.png&q…; alt="STM32 CAN控制器简介"><br>
它不与CAN总线进行通信,只是发给自己,如上图所示
3、bxCAN框图
F103只有一个主can,F4有两个can:一个主can一个从can;
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99391-6.png&q…; alt="STM32 CAN控制器简介"><br>
4、标识符筛选器
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99392-7.png&q…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99393-8.png&q…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99394-9.png&q…; alt="STM32 CAN控制器简介"><br>
5、发送流程
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99395-10.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99396-11.png&…; alt="STM32 CAN控制器简介">
<img src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99397-12.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99398-13.png&…; alt="STM32 CAN控制器简介"><br>
两个can通信的话其波特率必须一致
6、寄存器简介
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99399-14.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99400-15.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99401-16.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99402-17.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99403-18.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99404-19.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99405-20.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99406-21.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99407-22.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99408-23.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99409-24.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99410-25.png&…; alt="STM32 CAN控制器简介">
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99411-26.png&…; alt="STM32 CAN控制器简介"><br>
7、初始化流程
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99412-27.png&…; alt="STM32 CAN控制器简介"><br>
8、总结
<img width="600" src="http://mcu.eetrend.com/files/2020-06/wen_zhang_/100049797-99413-28.png&…; alt="STM32 CAN控制器简介"><br>
来源:<a href="https://www.cnblogs.com/gary-guo/p/5928935.html"><u>博客园 - 郭润</u></a>,转载此文目的在于传递更多信息,版权归原作者所有。