关于CAN总线节点接收过滤码的问题

2019-03-24 13:09发布

在配置CAN报文对象时会有关于节点接收过滤的设置
g_MsgObject.ulMsgID
g_MsgObject.ulMsgIDMask
g_MsgObject.ulFlags

对于11位的id, 例如从0x3F8 到0x3FF, 设置IDMask为0x3F8就可以实现过滤接收0x3F8 到0x3FF的id
 
可是问题是如何设置ulMsgID和ulMsgIDMask使CAN控制器只接收一组29位的ulMsgID(例如只接收从0x0f800000 到 0x0f87ffff的id)?

我试过用0x1fffffff做IDMask, 还是不能成功接收。

请大家赐教啊!  谢谢



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
tekkon
2019-03-25 04:51
恩  谢谢你们俩  MASK部分很明了了。。。  

“还有一点就是如果CAN接收到一个报文,如果没有计算好ID和掩码,你想用2#报文对象存储器接收一个报文,但是1#报文对象存储器也能验证通过,这样2#报文对象存储器就不会收到报文了。”  能不能再解释一下?

一周热门 更多>

相关问题

    相关文章