在玩GD32A50x芯片时候做到can模块,配置了半天的公有过滤器来过滤报文发现是错的,最后发现18-29位是报文Id的掩码

过程:

1先配置掩码为0xFF3F FFFF 逐个验证id,最后发现id在(0x121-123)的报文可以过滤

2进一步验证,写出二进制位这个比对,发现寄存器的23,22,21,20位是0011,这也是前面两个报文能通过的原因

3.再验证,将过滤报文改成0011 1111 1000 0000 0000 0000 0000之后发现0x12x(x= 1~7)都可以通过。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐