我在ECAN的配置中已将MBOX16作为ID 0x226报文的接收邮箱,函数CANC_RX_CHECK每1ms执行一次,其功能被设计为:在未接收到0x226报文时,testcount2持续+1;每接收到一帧0x226报文,testcount1加一。
为达成“每接收到一帧0x226报文,testcount1加一”,我在接收后均会给CANRMP寄存器赋值清零,如图中红框。
实际的测试现象是接收到一帧0x226报文后CANRMP寄存器未被清零,导致testcount1持续+1,我想请问一下关于这个CANRMP寄存器的使用方法是否有误?
Susan Yang:
请您参考下面文档内的详细说明7 接收消息等待寄存器(CANRMP)
www.ti.com/…/zhcu039.pdf
如果邮箱n包含接一条接收到的消息,则该寄存器的 RMPn位被置位。 这些位只能由 CPU 和内部逻辑置位。
,
Green Deng:
加上EALLOW;和EDIS;试试?