1

我正在使用 CAN 总线连接两个 LPC2129 微控制器。立即从发送器发送消息,但在接收器侧,接收中断正在连续执行。

我在开始时收到 ACK 错误,因为它是接收中断的优先级较低的中断,但稍后接收中断将连续发生,并且即使我只从发送器发送一次,数据也将被正确接收。

更多细节是:

     baud rate: 125 kbit/s
     Transceiver: MCP2551
     Acceptance filter: enabled (not using *FULL CAN Mode*)

如何消除此 ACK 错误?

4

1 回答 1

1

您需要“从源头”消除 ACK 错误。

如果接收器收到接收中断,那么它一定认为它已经确认了帧(你不应该因为错误的 CAN 帧而收到接收中断)。

因此,TX 端必须“看不到”ACK 位 - 然后它会不断重试帧,因此您的连续接收中断。

我建议在示波器上查看总线以了解发生了什么 - 您可能会看到 ACK 位没有正确地从接收器节点传出并进入发送器节点。然后弄清楚为什么会这样(可能是狡猾的焊接?)

于 2014-06-25T10:40:07.967 回答