主题中讨论的其他器件:LAUNCHXL2-TMS57012
我已经在 LAUNCHXL2-TMS57012电路板上执行了 CAN 示例代码。 报文从 CAN1传输到 CAN2。 我在"while (1);"行放置了一个断点、以查看 CAN1和 CAN2寄存器的输出。 但是,我无法在变量屏幕(CCS 调试模式)中找到寄存器。 但是、在 SPI 回送模式下、我能够查看那里的消息。
请告诉我如何检查我是否发送了正确的消息以及是否在 CAN2上接收到该消息。


代码:
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我已经在 LAUNCHXL2-TMS57012电路板上执行了 CAN 示例代码。 报文从 CAN1传输到 CAN2。 我在"while (1);"行放置了一个断点、以查看 CAN1和 CAN2寄存器的输出。 但是,我无法在变量屏幕(CCS 调试模式)中找到寄存器。 但是、在 SPI 回送模式下、我能够查看那里的消息。
请告诉我如何检查我是否发送了正确的消息以及是否在 CAN2上接收到该消息。


代码:
我在 LAUNCHXL2-TMS57012板的 J10连接器引脚12 (CAN2_RX)和 J10连接器引脚39 (CAN1_TX)之间直接连接了一根物理导线、在我的 Launchpad 中不存在120欧姆电阻。
在 CAN1存储器的 TX 中、我可以看到数据、但 CAN2的 RX 存储器没有任何数据。
连接 DSP LaunchPad 并完成调试。 我已从代码中删除断点。
能否知道为什么我没有在 CAN2 RX 存储器中获取任何数据?
我哪里出错了?


您无法将 CAN1 TX 连接到 CAN RX 进行通信。 对于 CAN 总线通信、CAN 节点通常需要 CAN 收发器。 必须终止 CAN_H 和 CAN_L。 您应该使用120欧姆电阻器进行端接。 如果在 CAN 网络上放置多个器件、则只有网络末端的器件需要端接电阻器。
如果 CAN 节点之间的电缆非常短、则可以使用非收发器方式进行 CAN 通信。 请参阅此应用:
https://www.mikrocontroller.net/attachment/28831/siemens_AP2921.pdf