最近在进行eCAN邮箱初始化(多种协议并存下,不同协议单独初始化)如下:
void vYLCanIDInit(void) //上电初始化和通讯故障初始化
{
ECanaRegs.CANME.all = 0x00000000;
ECanaMboxes.MBOX1.MSGCTRL.all = 0x00000008;
ECanaMboxes.MBOX4.MSGCTRL.all = 0x00000008;
ECanaMboxes.MBOX5.MSGCTRL.all = 0x00000108;
ECanaMboxes.MBOX1.MSGID.all = 0xc6900003;
ECanaRegs.CANME.all = 0x00000032;
ECanaRegs.CANMD.all = 0x00000002;
ECanaLAMRegs.LAM1.all = 0x81DFFFFF;
ECanaLAMRegs.LAM4.all = 0x800FFFFC;
ECanaLAMRegs.LAM5.all = 0x800FFFFC;
}
void InfyCanIDInit(void) //在选择此协议时初始化和通讯故障时初始化
{
ECanaRegs.CANME.bit.ME2 = 0;
ECanaRegs.CANME.bit.ME8 = 0;
ECanaMboxes.MBOX2.MSGCTRL.all = 0x00000008;
ECanaMboxes.MBOX8.MSGCTRL.all = 0x00000008;
ECanaMboxes.MBOX2.MSGID.all = 0xC29A00F0;
ECanaRegs.CANME.bit.ME2 = 1;
ECanaRegs.CANME.bit.ME8 = 1;
ECanaRegs.CANMD.bit.MD2 = 1;
ECanaRegs.CANMD.bit.MD8 = 0;
ECanaLAMRegs.LAM2.all = 0x807FFFFF;
}
在CCS3.3进行仿真时发现其他未使能邮箱有误使能情况:
请大牛帮忙分析分析,谢谢!