在开发板上利用CAN通信发送数据,配置了四个发送邮箱。外部没有接入接收设备,那么邮箱会一直尝试发送,请问怎么取消发送呢?
利用CANTRR寄存器可以取消其中三个低优先级的邮箱(此时这三个低优先级的邮箱没有进行消息处理),但是高优先级的邮箱没法取消。
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通信发送数据,配置了四个发送邮箱。外部没有接入接收设备,那么邮箱会一直尝试发送,请问怎么取消发送呢?
利用CANTRR寄存器可以取消其中三个低优先级的邮箱(此时这三个低优先级的邮箱没有进行消息处理),但是高优先级的邮箱没法取消。
您好,pending的传输可以被取消,但是已经在进行的传输是无法取消的。
您能否提供四个发送邮箱的邮箱编号及其 MSGID ?
请问是否一个接收器都没有? 如果是的话,启动的第一个传输将永远保持重复。
您好,四个发送邮箱应该是mailbox 0 、1、 2 和 3, 也就是说不包括mailbox4邮箱 4。这个倒是没什么大问题,只是提醒您一下。
当有多个 MBX 被标记为传输时,数值较高的 MBX 将首先发送。 在您的问题中,由于mailbox 0 、 1 、 2 和 3 被配置为发送,MBX3 将首先发送。 但是由于没有接收节点, MBX3 将永远保持重新发送 (如果没有接收节点,发送节点将永久重新发送第一个帧)。 由于 MBX0 、 MBX1 和 MBX2 尚未开始传输,您可以中止传输。 但因为MBX3 已开始传输,所以无法中止该邮箱的传输。
您好,一旦传输开始,就无法中止了。 您可以尝试执行软复位 (CANMC.SRES) 来看下是否能够中止。