DSP的CAN通信中邮箱消息发送和接收

 时间:2024-10-28 17:43:06

1、消息发送 //往发送邮箱中写数据,分别写低32位4字节和高32位4字节 ECanaMboxes.MBOX0.MDL.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将置1 ECanaShadow.CANTA.bit.TA0 == 1; //写1清零,准备判别下一次发送与否

2、消息的接收 struct ECAN_REGS ECanaShadow; ECanaShadow.CANRMP.all = ECanaRegs.CANRMP.all; do{} while(ECanaShadow.CANRMP.bit.RMP1 != 1 );//当接收消息成功时,接收待决位RMP0置位为1 ECanaShadow.CANRMP.bit.RMP1 = 1;//接收消息待决位通过写1清零 ECanaRegs.CANRMP.all=ECanaShadow.CANRMP.all;

  • GX developer如何绘制plc自锁
  • 编写单片机应用程序的步骤
  • keil5中使用C51
  • 如何在AD中放置双刀单掷继电器?
  • Keil5打开工程提示not found device解决方法
  • 热门搜索
    ceo是什么 student是什么意思 腰痛是什么原因 来日方长是什么意思 .et是什么文件 一丝不苟是什么意思 beautiful什么意思 半岛铁盒是什么 预调酒是什么意思 无能为力的近义词是什么