CAN报文过滤不起作用

2019-03-24 12:58发布

//设置主机的报文标识符
    MsgObj_zxz.ulMsgID = MSGOBJ_ID_ZXZ;   //报文标识符  
    MsgObj_zxz.ulMsgIDMask = 0x0ff00;           //报文滤波,0不过滤,CAN ID& CAN ID MASK= =帧ID
    // 使能接收消息中断
    MsgObj_zxz.ulFlags = (MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_EXTENDED_ID | MSG_OBJ_USE_ID_FILTER);
    //设定数据的大小以及对应的变量
    MsgObj_zxz.ulMsgLen = 2;                //数据为2个字节      
    MsgObj_zxz.pucMsgData = msg_zxz;      //使用变量msg_zxz
    // 配置为接收消息对象
    CANMessageSet(CAN0_BASE, MSGOBJ_NUM_ZXZ, &MsgObj_zxz, MSG_OBJ_TYPE_RX);           //设置为接收   

设置了报文过滤,但是目前是所有的报文都能接收到,什么原因,请解答,谢谢! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
Study_Stellaris
2019-03-24 19:22
< #define MSG_OBJ_USE_EXT_FILTER  (0x00000020 | MSG_OBJ_USE_ID_FILTER)

****.ulFlags =
        MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_EXTENDED_ID | MSG_OBJ_USE_ID_FILTER |
        MSG_OBJ_USE_EXT_FILTER;

[ 本帖最后由 Study_Stellaris 于 2013-1-14 10:12 编辑 ]

一周热门 更多>

相关问题

    相关文章