消息发送和接收
方法/步骤
1、朔娼沫毓消息发送//往发送邮箱中写数据,分别写低32位4字节和高32位4字节ECanaMboxes.MBOX0.M肛舀辨乔DL.all=MDL;ECanaMboxes.MBOX0.MDH.all=MDH;//置位准备发送,将发送请求位置位,使能邮箱发送功能ECanaShadow.CANTRS.all=0;ECanaShadow.CANTRS.bit.TRS0=1;ECanaRegs.CANTRS.all=ECanaShadow.CANTRS.all;do{ECanaShadow.CANTA.all=ECanaRegs.CANTA.all;}while(ECanaShadow.CANTA.bit.TA0==0);//当邮箱的消息被成功发送时,发送应答位TA将置1ECanaShadow.CANTA.bit.TA0==1;//写1清零,准备判别下一次发送与否
2、消息的接收structECAN_REGSECanaShadow;ECanaShadow.CANRMP.all=ECanaRegs.CANRMP.all;do{}while(ECanaShadow.CANRMP.bit.RMP1!=1);//当接收消息成功时,接收待决位RMP0置位为1ECanaShadow.CANRMP.bit.RMP1=1;//接收消息待决位通过写1清零ECanaRegs.CANRMP.all=ECanaShadow.CANRMP.all;