主题中讨论的其他器件: HALCOGEN
大家好。 我有2个 TMS570LS1224 Launchpad、我想在它们之间发送和接收 CAN 消息。 我按照 TI 官方教程"training.ti.com/hercules-how-tutorial-can-communication"进行操作。 但是、它不起作用。
首先、对于硬件部件、我使用 CAN 收发器 MCP2551、数据表可在此处找到:"ww1.microchip.com/.../21667f.pdf"。 我将 Launchpad、J10的引脚38 (Rx)和39 (Tx)连接到收发器、RxD 和 TxD。 VSS 接地、VDD 连接到微控制器的5V 电源。 CAN_H 连接到另一个收发器的 CAN_H、CAN_L 也是如此 CAN_H 和 CAN_L 均连接到200欧姆电阻器。 我认为接线正确。 所有导线都紧密插入试验电路板中。
其次是软件部分。 对于传输代码、我不知道如何测试它是否发送。 该代码与上面发布的官方教程相同。 对于接收器代码,此语句"while (!canIsRxMessageArrived(canREG1, canMESSAGE_BOX1));"永不结束。 发送器发送到 canREG1、canMESSAGEBOX_1、接收器也在 canREG1、canMESSAGEBOX_1处接收。 HalCoGen 的配置与教程完全一样、没有任何错误、与 CCSv7一样。
此外、该教程 的接收器代码包含一个行、"error = checkPacket (&TX_DATA[0]、&Rx_DATA[0]、D_SIZE)"、位于视频的13:30。 在接收器的项目中没有定义和声明 TX_DATA、这将导致编译错误。
感谢你的帮助。