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

关于CAN中断处理未完成时,原邮箱再次收到信息的疑问

我有一个关于28335 CAN收发机制的疑问:在邮箱A接收到信息,触发接收中断处理接收数据时(过程中可能会因为和其他线程互斥写保护被挂起),若在中断清除前,上位机又向此邮箱发送数据,这时的状态会是什么样的呢?
是收发两端都被阻塞,中断清除后,再写入邮箱,触发下一个中断?
还是邮箱数据被覆盖,但并不触发中断?
还是邮箱被写保护,上位机跳过这个数据,发送下一个数据?
求各位大神们解答呀!

Yuting Liu:

回复 Hank Zhao:

Hank Zhao

中断清除前不会有新的中断产生,如果该邮箱的OPC位被清零,新的消息直接覆盖还没被读取的消息。如果该邮箱的OPC被置位,在没有其它邮箱配置相同的标识符的情况下,新的消息被丢弃,如果有其它邮箱配置相同的标识符,则存入其它邮箱。

我有一个关于28335 CAN收发机制的疑问:在邮箱A接收到信息,触发接收中断处理接收数据时(过程中可能会因为和其他线程互斥写保护被挂起),若在中断清除前,上位机又向此邮箱发送数据,这时的状态会是什么样的呢?
是收发两端都被阻塞,中断清除后,再写入邮箱,触发下一个中断?
还是邮箱数据被覆盖,但并不触发中断?
还是邮箱被写保护,上位机跳过这个数据,发送下一个数据?
求各位大神们解答呀!

Hank Zhao:

回复 Yuting Liu:

是的,置位OPC并且增加冗余邮箱可以防止消息丢失。冗余邮箱接收消息后,其中断处于等待状态。原邮箱中断清除后,CPU会响应等待中的中断。

赞(0)
未经允许不得转载:TI中文支持网 » 关于CAN中断处理未完成时,原邮箱再次收到信息的疑问
分享到: 更多 (0)