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.
你(们)好
我正在尝试发送 CAN 消息、但是在测试模式之外、我实际上无法在 CAN_TX 引脚(GPIO 引脚31)上获得任何活动。 如果我编译 CAN_loopback.c 而没有进行任何修改、我可以在数字示波器上看到 CAN 消息被传输、但是、如果我注释掉下面的第137行和138行
//
//启用测试模式并选择外部环回
//
HWREG (CANA_base + CAN_O_CTL)|= CAN_CTL_TEST;
HWREG (CANA_base + CAN_O_TEST)= CAN_TEST_EXL;
因此 CAN 模块不再处于外部回路模式、GPIO 管脚31上看不到任何内容、为什么还要看到 GPIO 管脚31发送的第一条 CAN 报文? 我是否需要在测试模式之外配置额外的寄存器以实际查看/发送 CAN 消息?
此致
Steve
Steve、
请从 www.ti.com 下载 C2000ware 的最新版本 、并在下运行示例 CAN_EXTERNAL_Transmit
C:\ti\c2000Ware_1_00_05_00\device_support\f2837xd\examples\cpU1目录。 这是一个经过测试的示例。
您的电路板是否具有 CAN 收发器? 这是必须的。
Steve、
我试过它、它工作正常。 请注意、无需按下该红色按钮。 您只需重新加载代码并再次运行即可。 不管怎样、它工作正常。
该示例需要通过收发器实现 CAN-A 和 CAN-B 模块的相互连接、正如文件开头的注释明确指出的那样。 即使在 CANTX 引脚上看到波形、直到 ACK 阶段、也需要连接 CAN 收发器。 这就是我从一开始就问收发器的原因。 在一篇文章中,您提到您有收发器,甚至在 PC 上看到了帧,而在另一篇文章中,您说您没有扩展坞;我要求您提供设置的接线图。