This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CAN接收发送



我现在测试的是Ti官方的ecan_a_to_b例程,,用的是28346和28335两块开发板,但是程序一直卡在}while(ECanaShadow.CANRMP.bit.RMP25 != 1 );这一句,之前看论坛的时候发现好多前辈也遇到了这个问题但是都没有给出解决办法;我给CAN_RX0L和CAN_RX0H初始化为0,程序没有跑通,但是值改变了,

下面是接收程序

ECanaMboxes.MBOX25.MDL.all = 0x00;
ECanaMboxes.MBOX25.MDH.all = 0x00;
CAN_RX0L = ECanaMboxes.MBOX25.MDL.all;
CAN_RX0H= ECanaMboxes.MBOX25.MDH.all;


struct ECAN_REGS ECanaShadow;
ECanaShadow.CANRMP.all = ECanaRegs.CANRMP.all;
do{

CAN_RX0L = ECanaMboxes.MBOX25.MDL.all;
CAN_RX0H = ECanaMboxes.MBOX25.MDH.all;

}while(ECanaShadow.CANRMP.bit.RMP25 != 1 );//当接收消息成功时,接收待决位RMP0置位为1

ECanaShadow.CANRMP.bit.RMP25 = 1;//接收消息待决位通过写1清零
ECanaRegs.CANRMP.all=ECanaShadow.CANRMP.all;