<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
4.3.1-回环测试
软件初始化设置
CAN频率相关设置

打开接收中断

为了方便调试,我们初始化一下串口-PA9 PA10

添加一下重映射

讯享网
添加一些头文件

还有MDK的设置

我们先编程发送功能相关配置和函数
新建bsp_CAN.c和bsp_CAN.h文件
bsp_CAN.c内容
讯享网
bsp_CAN.c内容
bsp_CAN.c内容
讯享网
然后在bsp_CAN.h中声明一下
我们要在main.c中使用下面变量就先声明,一下
讯享网
初始化加上

然后main的循环时这样的
讯享网
打开串口助手,波特率

上面我们测试的环回模式,数据是发送回被自己收到,而且也发送到外面,但是自己不能收别人的

所以我们可以用逻辑分析仪测试一下
这里说逻辑分析仪测试CAN的方法
- 接线
CAN模块按要求供电
单片机PA11是CAN_RX—>CAN模块的CAN_RX
单片机PA12是CAN_TX—>CAN模块的CAN_TX
CAN模块的CAN_H—>逻辑分析仪通道0
CAN模块的CAN_L—>逻辑分析仪GND

- 然后设置CAN上位机
采样率一定要高,最高CAN速率1Mbps我们刚才软件初始化的是500Kbps 我们设置分析仪20MHz 够用了。

- 然后就可以开启单片机,让后逻辑分析仪单次采样

4.3.2-环回模式和筛选器
我们把CAN设置环回模式

我们主要更改CAN筛选器设置、
标识符屏蔽–ID是设置要频闭的ID、然后通过标识符掩码指定对应位相等完成屏蔽。
标识符列表–就是设置可以通过的白名单,必须与设置ID完全相等才可以通过

下面是具体设置位置
下面的第三步一定要注意!!!

讯享网
我们可以先测试设置过滤器ID不是我们发送的

然后编译烧录,发现单片机没有收到,说明成功了

我们更改为0x88就可以正常收到消息了
4.3.3-正常模式-双机通信

设备1 单片机主要发送


设备2单片机接收


这是接线方法

然后串口软件接设备2单片机

我们的IAP.c内容如下
讯享网
我们的IAP.h






版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/141145.html