extern void DebugComandRx(void) { uint16_t bTemp; uint16_t i;

bTemp = SCI_getRxFIFOStatus(SCIA_BASE);
i = 0;

while((SCI_getRxFIFOStatus(SCIA_BASE) != SCI_FIFO_RX0))
{
    i++;
    bTemp = SCI_readCharBlockingFIFO(SCIA_BASE);

    i++;
    if((DebugStatus!= SCI_RX)&&(bTemp == 0xFF))  //#define SCI_RX  1
    {
        DebugStatus = SCI_RX;
        DebugRxDataIndex = 0;
    }
    if(DebugStatus==SCI_RX)
    {
        DebugRxBuff[DebugRxDataIndex] = bTemp;
        DebugBusIdleCount = 0;
        DebugRxDataIndex++;   //接受数据索引
    }
}

}

此函数的作用是从 SCI 接收 FIFO 中读取数据,并根据读取的数据判断当前的 Debug 状态和接收到的数据是否为 '0xFF',从而更新相关的 Debug 状态和接收到的数据缓冲区。

SCI 接收FIFO 数据读取及 Debug 状态更新函数

原文地址: https://www.cveoy.top/t/topic/n96O 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录