STM32 can通信分析

1.用STM32cubemx生成初始化代码,版本为4.27.0,软件包版本为f1系列1.6.1.首先配置时钟,调试口,找到can外设,master mode前面勾选
2.j进入configuration,选择connectivity下面的can,进行参数配置,由于can挂载在APB1,所以时钟为APB1的时钟,因此波特率为pclk1/(bs1+bs2+sjw),STM32 bxcan只有这3段。以8M,波特率250Kbps为例,配置如下所示:
在这里插入图片描述
3.如果只是为了测试简单的CAN通信,可以选择回环模式,正常模式必须要2个及以上设备才行。并且使能CAN接收中断
4.程序中要做的工作如下:can初始化,设置过滤器,使能can接收中断,can接收中断回调里面处理数据,can错误中断里面重启can设备(ps:如果6个点以下可以不需要错误回调,实际项目测试得出的结果)
5.如果对外发送数据则要设置id,数据等
6.由于can是半双工模式,所以不能同时收发,否则会导致错误

参考链接:https://www.amobbs.com/thread-644171-1-1.html?_dsign=cb4736a3

发布了24 篇原创文章 · 获赞 1 · 访问量 1801

猜你喜欢

转载自blog.csdn.net/qq_27182175/article/details/102392455