TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28335 CAN接收中断问题

用CAN盒调试,需要发送3次数据,才能进入CAN中断,不知道问题出在哪里。第一次第二次发送数据,CANMDL、CANMDH值不变,只有第三次发送数据,CANMDL、CANMDH值才变,请问是什么原因造成的呢

user5774561:偶然出现 can中断失灵,我查了一下CANRMP,发现被置位1并且一直没有被清0,因此中断gif失效 ,中断函数失效。但是我实在是十分困惑,我在中断函数中 接收邮箱按照rmp的位进行判断并接受相应的数据,接受完毕后 对相应的rmp进行了清0操作。理论上不应该存在 rmp未被清0的情况。

用CAN盒调试,需要发送3次数据,才能进入CAN中断,不知道问题出在哪里。第一次第二次发送数据,CANMDL、CANMDH值不变,只有第三次发送数据,CANMDL、CANMDH值才变,请问是什么原因造成的呢

Annie Liu:

回复 user5774561:

这种行为每次都会重现吗?还是偶尔会发生?每次接收后RMP位是否清零?

您是指即使您已将RMP清零,偶尔也会无法中断?您检查过 "Received Message Lost" 的情况吗?是否可能存在竞态条件?也就是说应用程序无法立即为有问题的邮箱检修中断故障。若存在这种情况,请打开几个具有相同MSGID的邮箱并使用OPC机制。

用CAN盒调试,需要发送3次数据,才能进入CAN中断,不知道问题出在哪里。第一次第二次发送数据,CANMDL、CANMDH值不变,只有第三次发送数据,CANMDL、CANMDH值才变,请问是什么原因造成的呢

user5774561:

回复 Annie Liu:

你好,这种现象每次都会出现。RMP不清零导致程序进不到can接收中断。如果在每次can接收中断前面加一次can发送,那么每次都能正常进到can接收中断

用CAN盒调试,需要发送3次数据,才能进入CAN中断,不知道问题出在哪里。第一次第二次发送数据,CANMDL、CANMDH值不变,只有第三次发送数据,CANMDL、CANMDH值才变,请问是什么原因造成的呢

Annie Liu:

回复 user5774561:

每次接收后RMP Bit必须清零。

用CAN盒调试,需要发送3次数据,才能进入CAN中断,不知道问题出在哪里。第一次第二次发送数据,CANMDL、CANMDH值不变,只有第三次发送数据,CANMDL、CANMDH值才变,请问是什么原因造成的呢

user5774561:

回复 Annie Liu:

程序中写了清零,实际can接收数据每3次才能清零1次

用CAN盒调试,需要发送3次数据,才能进入CAN中断,不知道问题出在哪里。第一次第二次发送数据,CANMDL、CANMDH值不变,只有第三次发送数据,CANMDL、CANMDH值才变,请问是什么原因造成的呢

Annie Liu:

回复 user5774561:

您好,回复请参看E2E链接: http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/783669/2906910#2906910

另外,为避免翻译造成的歧义,如果这个问题还是未得到解决,建议您直接在上述链接中与E2E工程师直接交流。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28335 CAN接收中断问题
分享到: 更多 (0)