您好,
CANME 寄存器 由位启用、结果影响其它邮箱的使用、代码被附加。
void vYLCanIDInit (void) //
ECANaRegs.CANME.ALL = 0x00000000;
ECANaMboxs.MBOX1.MSGCTRL.ALL = 0x00000008;
ECANaMboxs.MBOX4.MSGCTRL.ALL = 0x00000008;
ECANaMboxs.MBOX5.MSGCTRL.ALL = 0x00000108;
ECANaMboxs.MBOX1.MSGID.ALL = 0xc6900003;
ECanaRegs.CANME.ALL = 0x00000032;
ECANaRegs.CANMD.ALL = 0x00000002;
ECANaLAMRegs.LAM1.ALL = 0x81DFFFFF;
ECanaLAMRegs.LAM4.ALL = 0x800FFFFC;
ECanaLAMRegs.LAM5.ALL = 0x800FFFFC;
}
在选择此协议时初始化和通讯故障时初始化 InfyCanIDInit (void)//μ s
{
ECANaRegs.CANME.bit.ME2 = 0;
ECANaRegs.CANME.bit.ME8 = 0;
ECANaMboxs.MBOX2.MSGCTRL.ALL = 0x00000008;
ECANaMboxs.MBOX8.MSGCTRL.ALL = 0x00000008;
ECANaMboxs.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;
}
仿真如下。
您的建议很有用。谢谢!