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 来实现两个 DSP (一个主机和一个目标)之间的通信。 主机 每1秒向目标发送一次数据。 接收到数据后、从器件将进入 CAN 中断来读取数据并将一段数据返回到主机。 在主机接收到数据后、它还会进入相应的中断来接收数据。
但是 、在实际测试中、我遇到了以下两个问题。
1. 发送数据的频率有问题。 在该程序中、每1秒调用一次 TI 的数据发送命令、以控制 主机向 目标发送数据。 这样、发送数据的频率应非常低。 不过 、我可以通过示波器看到、在1s 间隔期间、仍然可以在总线上读取高频数据传输信号。 这是否意味 着在 发送一段数据后自动发送数据?
开始时、 中断中的目标可以正确接收从主机发送到目标的数据。 但是、经过几次测试 、我发现 目标不再进入读取数据的中断、并且 不会将数据返回到主机。 但是、主机仍在发送数据、并且可以读取目标发送的数据。 在示波器上、我观察到 CAN 传输线路信号 、并同时读取 从主机发送到目标的 MSGID 和从 目标发送回主机的 MSGID。 但通过该标志 、我可以看到 目标没有进入 CAN 并被中断、因此它不会向主机发送数据。 这种情况的原因可能是什么?
3.在 CAN 控制寄存 器中、有一个自动重发送配置位禁用自动重发送、默认情况下启用。 是因为目标不断尝试重新发送数据吗? 在这种情况下、虽然它没有进入 目标的 CAN 中断来发送数据、 但目标是否使用此自动重发送来实现重复的数据发送?
此致、
凯瑟琳