本人在一个项目中运用Ecan进行通信,在通信过程中会碰到中断故障(具体原因说不上来)。我是将Ecan设置成中断接收的(邮箱0-15设置成接收邮箱,16邮箱设置成发送邮箱),若接收到一个合理的读写命令,则返回数据给主机,否则不响应。对此我有以下几个疑问:
1.Ecan的中断机制是怎样的。比方说我有一个命令总共有18个字节,ecan一次只能发送8个字节,所以要分3次发送,这3个包会全部放在15号邮箱,还是15,14,13号这3个邮箱,0-15号邮箱的设置都一样的。
2.存不存在这样一种情况。一个命令分成3包发送,分别在15,14,13号这3个邮箱中,在处理这个命令的过程中又接收到新的命令进入中断,假设这个时候已将15号邮箱的数据取出,那这个时候会如何分配接收邮箱(15,12,。。。),还有这个时候的中断邮箱指示位CANGIF0/CANGIF1寄存器中的MIV0:4中的值又是多少
|