问:在 eCAN 模块中有传输请求复位寄存器 (CANTRR),将TRRn置1会取消传输请求。
我是否可以知道如何取消 F280025 DCAN 模块中的传输请求?
答:在 eCAN 中:
要为邮箱启动传输,则置位 TRSn(传送请求集)位。要中止传输,则置位 TRRn(传送请求复位)位。如果中止成功,则会置位AA 位(中止确认)。
在 DCAN 中:
要为邮箱启动传输,请置位 TxRqst 位。要中止传输,您只能清除同一位,即没有单独的位来中止传输。
问:对于 DCAN,如果我想通过清除 TxRqst 位来中止传输,应该清除 CAN_IF1CMD 还是 CAN_IF1MCTL 中的 TxRqst?
答:CAN_IF1CMD 寄存器(SPRUHM8I 的第 2527 页)的第 18 位的说明为“0(方向 = 写入):TxRqst/NewDat 位将根据控制位进行处理”。因此,除了将第 18 位清零外,CAN_IF1MCTL 寄存器的第 8 位也应该为 0。我尚未尝试过像这样终止一条消息,但这似乎是 TRM 中的说明的过程。另请参阅这个帖子。