您好,我在使用S32K144这个芯片的CAN功能,使用过程中需要抓取CAN总线上所有不同ID的报文(即不需要ID过滤),所以我把寄存器RXMGMASK、RX14MASK、RX15MASK都设置为0,我在接收中断里打断点,看到是可以接收到报文,但RXMGMASK、RX14MASK、RX15MASK都设置为0后,使用其他MB发送报文时,发送产生的IFLAG会出问题(IFLAG会同时有两位置1),不知道怎么解决,请问您可以帮助我定位一下问题出在哪里吗?我看了好几遍手册,没找到RXMGMASK、RX14MASK、RX15MASK会影响相关的发送。
和下面是同一个问题哈
我也出现了同样的问题!!我将接收中断开启,没有开启发送中断,我在接收中断里面,如果去掉发送函数,一切正常;但如果加上了发送函数,就会不停的进接收中断
我用MB0作为接收邮箱,MB1作为发送邮箱,上面已经提到,我在接收中断里面已经成功清除了对应的IFLAG1,但是好像用MB1发送成功后,又会将MB0的IFLAG1对应位置位,于是就会频繁进入接收中断,不知道原因为何??
检查下MCR寄存器,SRXDIS位的状态,你会得到你想要的答案。这个位置位就可以了。
谢了兄弟!困扰了很久!居然是这个位,网上例程都没有专门set这个位
您好,您使用寄存器操作can,接收是可以的吗?我也是用寄存器开发,但是CAN能发不能收,能请教下吗,能否加下QQ:357929237,我现在也在调试CAN,纠结好久了,始终收不到报文,谢谢!
一晃三年过去了
Hi,
Please use English so we can more easily read the question and understand the issue.
The RX MASK registers have nothing with the TX operation.
The MB’s flag is set in both situation.
Once the message is successfully received and moved into MB the respective MB flag in IFLAG register is set.
Once the message is successfully transmitted the respective MB flag in IFLAG register is set.
BR, Petr