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.

28035 SCI通讯的问题



我用串口调试助手给DSP发数据,每次都少发一个是怎么回事?

nterrupt void sciaRxFifoIsr(void)
{
        
    if(SciaRegs.SCIRXST.bit.RXWAKE==1)//
 {
  RdataA_Num=0;
  RdataA[RdataA_Num]=SciaRegs.SCIRXBUF.all;
  if(RdataA[RdataA_Num]==1)//local address
  {
   
   RdataA_Num++;
   SciaRegs.SCICTL1.bit.SWRESET=0;
      SciaRegs.SCICTL1.bit.SLEEP  =0;
      SciaRegs.SCICTL1.bit.SWRESET=1;

  }
  else//continue sleep
  { 
   SciaRegs.SCICTL1.bit.SWRESET=0;
      SciaRegs.SCICTL1.bit.SLEEP  =1;
      SciaRegs.SCICTL1.bit.SWRESET=1;
  }
 } 
 else//
 {
     RdataA[RdataA_Num++]=SciaRegs.SCIRXBUF.all;  // Read data
 }
 
 SciaRegs.SCIFFRX.bit.RXFFOVRCLR=1;   // Clear Overflow flag
 SciaRegs.SCIFFRX.bit.RXFFINTCLR=1;   // Clear Interrupt flag
 PieCtrlRegs.PIEACK.all|=0x100;       // Issue PIE ack  
 
}

比如我发01 03 00 25 00 03 14 02 01,DSP数组RdataA[]只能收到01 03 00 25 00 03 14 02

比如我发01 03 00 25 00 03 14 02 ,DSP数组RdataA[]只能收到01 03 00 25 00 03 14

每次都少一帧