can报文解析实例(can报文dbc解析)

can报文解析实例(can报文dbc解析)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <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的方法

  1. 接线

    CAN模块按要求供电

    单片机PA11是CAN_RX—&gt;CAN模块的CAN_RX

    单片机PA12是CAN_TX—&gt;CAN模块的CAN_TX

    ​ CAN模块的CAN_H—&gt;逻辑分析仪通道0

    ​ CAN模块的CAN_L—&gt;逻辑分析仪GND

  2. 然后设置CAN上位机

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

    在这里插入图片描述

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

在这里插入图片描述

4.3.2-环回模式和筛选器

我们把CAN设置环回模式

在这里插入图片描述

我们主要更改CAN筛选器设置、

标识符屏蔽–ID是设置要频闭的ID、然后通过标识符掩码指定对应位相等完成屏蔽。

标识符列表–就是设置可以通过的白名单,必须与设置ID完全相等才可以通过

在这里插入图片描述

下面是具体设置位置

下面的第三步一定要注意!!!
在这里插入图片描述

 
讯享网

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

在这里插入图片描述

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

在这里插入图片描述

我们更改为0x88就可以正常收到消息了

 

4.3.3-正常模式-双机通信

在这里插入图片描述

设备1 单片机主要发送

在这里插入图片描述

在这里插入图片描述

设备2单片机接收


在这里插入图片描述

这是接线方法

在这里插入图片描述

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

在这里插入图片描述

我们的IAP.c内容如下

讯享网

我们的IAP.h

 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


小讯
上一篇 2025-05-31 22:09
下一篇 2025-05-10 07:24

相关推荐

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