
各位高手请帮我分析下STM32得CAN
CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;CAN_FilterInitStructure.CAN_FilterIdL...
CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow=0x91a4;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0xffff;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0xffff; 就是这几句我总是不明白 为啥有时候全写0 有时候 又赋值了 这个里面的91A4就是 不知道 什么时候蹦出来的 难道是CRC时的校验值 展开
CAN_FilterInitStructure.CAN_FilterIdLow=0x91a4;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0xffff;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0xffff; 就是这几句我总是不明白 为啥有时候全写0 有时候 又赋值了 这个里面的91A4就是 不知道 什么时候蹦出来的 难道是CRC时的校验值 展开
2个回答
展开全部
CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow=0x91a4;
是过滤器标示符
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0xffff;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0xffff;
是过滤器屏蔽位,这两个要结合使用
过滤器屏蔽位全为1(0xFFFF)时,表示帧的标示符要和过滤器标示符完全一致;
过滤器屏蔽有一位为0时,帧的标示符中0所对应位和过滤器标示符中0所对应位可一致也可不同
以标准标示符为例:过滤器标示符:0000 0000 010,过滤器屏蔽位:1111 1111 110表示接收标示符为0000 0000 010和0000 0000 011的帧
过滤器标示符:0000 0000 010,过滤器屏蔽位:1111 1111 111表示只接收标示符为0000 0000 010的帧
CAN_FilterInitStructure.CAN_FilterIdLow=0x91a4;
是过滤器标示符
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0xffff;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0xffff;
是过滤器屏蔽位,这两个要结合使用
过滤器屏蔽位全为1(0xFFFF)时,表示帧的标示符要和过滤器标示符完全一致;
过滤器屏蔽有一位为0时,帧的标示符中0所对应位和过滤器标示符中0所对应位可一致也可不同
以标准标示符为例:过滤器标示符:0000 0000 010,过滤器屏蔽位:1111 1111 110表示接收标示符为0000 0000 010和0000 0000 011的帧
过滤器标示符:0000 0000 010,过滤器屏蔽位:1111 1111 111表示只接收标示符为0000 0000 010的帧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询