我的节点用的是P89V51RD2+SJA1000+CTM1040,当我使用BASECAN模式时,一切运行正常(用到接收中断),但是当我改用PELICAN模式后,SJA1000就无法产生发送中断和接收中断,好像能产生总线错误中断(此时IER=0xFF)。我用的ZLG的USBCAN做调试,单片机程序要求当接收到一帧数据(CMR=0xFFFFFFFF)后就将中断寄存器和状态寄存器的值发送到总线上,由于无法产生中断,我就用查询中断寄存器的方式来读取数据,结果还是不行;后来我只能改用查询状态寄存器,OK啦,但是读出的中断寄存器始终为0,int脚也没有产生负跳变(带上拉电阻)。。此时我将接收缓冲区的内容也一并读出,并回传给USBCAN,结果是回传的数据跟我发送给节点的数据一样,这个证明SJA1000接收正常,为什么就不能产生中断呢?请各位大虾帮帮忙啊,小弟先谢过了!
还有一个问题请教,就是PELICAN模式的发送缓冲区怎么用? |