您好!
我正在尝试在两个控制器(TMS320F28375S PTPS 和 TMS320F28375S PZPT)之间建立 CAN 通信。
首先、我将数据从发送器邮箱为4字节消息长度的前卡传输到接收器邮箱为4字节消息长度的后卡。 数据已正确传输。 我分别验证了前卡和后卡的 CAN_IF1DATA (传输)和 CAN_IF2DATA (接收)中的数据。 此外、当我使用 CRO 检查帧长度时、我观察到帧长度为128usec。
现在、当我尝试将数据从后一张卡传输到前一张卡时、每个卡具有4字节的消息长度(接收器和发送器邮箱)、数据丢失、即前一张卡的 CAN_IF2DATA (接收到的)中的数据与 CAN_IF1DATA (传输的)中的数据不同 后一张卡的位置。 我观察到帧长度为96usec、而不是128usec (如上所述)。
但是、当我从后一个卡传输8字节的消息长度到前一个卡的4字节的消息长度时、数据已正确传输。 我分别使用发送器和接收器卡的 CAN_IF1DATA 和 CAN_IF2DATA 寄存器验证了这一点。 此外、帧长度为128usec。
为什么在第二种情况下不传输正确的数据、而在第一种情况下不传输正确的数据? 请说明原因。
谢谢、
P. Shreni