CAN学习笔记19(过滤器-只接收遥控帧或数据帧)
- 2026-11-04 16:43:46
CAN学习笔记19(过滤器-只接收遥控帧或数据帧)只接受遥控帧任务设定如下 
继续在上一节的程序基础上进行修改 1.main.c主程序中,模拟发送的数组,把数据帧和遥控帧混合发送 程序中的标准帧、遥控帧交替发送,数据帧和扩展帧都有。 
2. MyCAN.c中配置过滤器 程序中 
编译,下载测试 视频中在测试时,采用环回模式,设备1只显示遥控帧的数据,数据帧就被过滤掉了,而设备2采用的静默模式,所有的数据都被显示出来,说明测试成功。 扩展:如果只接收数据帧呢 程序中 uint32_t ID = 0x0; uint32_t Mask = 0x2; 只检测RTR位为0,其余数据忽略 
编译,下载测试 视频中在测试时,采用环回模式,设备1只显示数据帧的数据,遥控帧就被过滤掉了,而设备2采用的静默模式,所有的数据都被显示出来,也说明测试成功。


uint32_t ID = 0x2;
uint32_t Mask = 0x2
0x2 = 0b10,对应过滤字的 bit1(RTR)= 1掩码 0x2,只对比 RTR 这一位,其他 bit 不参与比较最终效果:只接收遥控帧(远程请求帧),丢弃普通数据帧

关注
重播 分享 赞

关注
重播 分享 赞
通过网盘分享的文件:CAN学习笔记19(过滤器-只接收遥控帧或数据帧).zip
链接: https://pan.baidu.com/s/1oOtmEGYDZWSZdUm1k-JZkg?pwd=dc8u 提取码: dc8u
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。