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.

eCAN

在做F28035的can通讯中, 程序 发送邮箱 ECanaMboxes.MBOX25.MDL.all = (u32)ParaList[F0_07];

在线调试发现,(u32)ParaList[F0_07]的值无法赋值给ECanaMboxes.MBOX25.MDL.all ,即使将(u32)ParaList[F0_07];换成常数也不行、

使用CCS3.3软件

  •     

    接上 ,完整发送程序

     if(ECanaShadow.CANTA.bit.TA25 == 1)
       {
        ECanaMboxes.MBOX25.MDL.all = ParaList[F0_07];
        ECanaMboxes.MBOX25.MDH.all = 0;

        ECanaShadow.CANTA.all = 0;
        ECanaShadow.CANTA.bit.TA25 = 1;      
        ECanaRegs.CANTA.all = ECanaShadow.CANTA.all;
       }

    继续调试发现,当在ECanaMboxes.MBOX25.MDL.all = ParaList[F0_07];处设置断点,可以正常读取;如果断点设置在 ECanaMboxes.MBOX25.MDH.all = 0;处 ,则无法正常工作;另外通过

             do
       {
         ECanaShadow.CANTA.all = ECanaRegs.CANTA.all;
       } while(ECanaShadow.CANTA.bit.TA25 == 0 );

       ECanaMboxes.MBOX25.MDL.all = ParaList[F0_07];
       ECanaMboxes.MBOX25.MDH.all = 0;

       ECanaShadow.CANTA.all = 0;
       ECanaShadow.CANTA.bit.TA25 = 1;       // Clear TA5
       ECanaRegs.CANTA.all = ECanaShadow.CANTA.all;

    方式发送,正常