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.

28335与CAN设备进行通信为什么明明发送成功了,但是CANES.TM却不改变

while(1)
{
  // for(i=0; i < TXCOUNT; i++)
   {

   for(t = 0x00;t < 2;t++)
   {

       InitECanb();

   
       ECanbShadow.CANTRS.all = 0;
       ECanbShadow.CANTRS.bit.TRS25 = 1;             // Set TRS for mailbox under test
       ECanbRegs.CANTRS.all = ECanbShadow.CANTRS.all;
       kk = 0;
       do
            {
                 kk = kk + 1;
        //         ECanbShadow.CANTRS.all = 0;
      // ECanbShadow.CANTRS.bit.TRS25 = 1;             // Set TRS for mailbox under test
      // ECanbRegs.CANTRS.all = ECanbShadow.CANTRS.all;
              ECanbShadow.CANTA.all = ECanbRegs.CANTA.all;
                } while((ECanbShadow.CANTA.bit.TA25 == 0 ) && (kk < 10000));   // Wait for TA5 bit to be set..

         if( kk < 10000) break;
      }  
          if(kk<10000) j++;

                        //           loopcount ++;
   //   j++;
        //  ECanbMboxes.MBOX25.MDL.all = j;
    //  ECanbMboxes.MBOX25.MDH.all = j + 1;


       ECanbShadow.CANTA.all = 0;
       ECanbShadow.CANTA.bit.TA25 = 1;                      // Clear TA5
       ECanbRegs.CANTA.all = ECanbShadow.CANTA.all;
        //   delay();

     
    }
        }

得到的kk是小于10000的,表示应该发送成功了,但是为什么CANES.TM还是0,按照寄存器的介绍这个不应该会变1吗?请大神解答一下疑惑