STM32F4的CAN过滤器使用心得

       最近在调试11个节点的CAN网络,出于安全性考虑增加过滤器功能(原子标配代码没设置相关功能),上午花费1个小时时间查阅资料与实验,最终完成,总结如下:

1、首先了解CAN协议的扩展帧格式,如下,定义的扩展标识符为29位,即下图的标识符IDE与标识符扩展IDE。

  查阅HAL库发送数据,格式如下,即发送的字符格式是29位标识符IDE+IDE+RTR+0,一共32位。弄清楚发送数据的顺序,我们再来看过滤器。

2、过滤器设置。过滤有多种设置模式,包括标识符、掩码模式,又分为16位和32位,想具体了解去翻翻手册,我使用的是32位标识符+掩码的格式。标识符为是建议接受的标识符,掩码是接收器接收到的标识符与建议标识符的需要对比的位(1对比,0不关心),配置如下

举例:我发送的标识符系列为0x1800F040(第5-6个字节和第1个自己可能有变化),我想要的结果是,只要其中是1的位匹配就好,根据以上结论,我设定的标识符为0xC0078200,掩码为0xC007FA00。

经测试,接受正常,不匹配数据不能接收。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值