我在
STM32H745 和 STM32F042 处理器之间有一条 CAN 总线,使用标准 CAN 进行
通信。传输,接收对除以下以外的任何数据包都可以正常工作:
我无法解释。数据字节以0xd2 0x01开头,STM32H7不接收。这一直工作正常,直到我将第二个字节从 0 更改为 1(这是一个版本消息,将主要版本从 0 更改为 1,因此更改)。逻辑分析仪连接到 STM32H7 的 RX 线。使用逻辑分析仪,我可以看到消息通过收发器一直传到 STM32H7。
我在两个 STM32F042 处理器之间使用相同的协议。说话没有问题。当一端切换到STM32H7时,则只有上述特定消息没有收到。其他一切似乎都很好。
如果我发送 <0xd2 0x00 etc> 或 <0xd2 0x02 etc> 或 <0xd2 0x03 etc> 接收没有问题。当第二个字符为 0x01 时,没有消息。
如果是过滤器或配置问题,我将不会收到任何消息。但我确实收到了所有消息。这仅在两个微控制器之间。
有任何想法吗 ?如果您查看该行,CRC 似乎全为 1。难道是那样吗?所有 1 都表示 CRC 错误吗?我重复一遍,这只是这条不吉利的消息。
感谢您提供任何线索。