標(biāo)題: while(UART1.ucTX_Busy_Flag); 這條C語(yǔ)言語(yǔ)句怎么理解? [打印本頁(yè)]

作者: MYJ918    時(shí)間: 2023-9-15 15:14
標(biāo)題: while(UART1.ucTX_Busy_Flag); 這條C語(yǔ)言語(yǔ)句怎么理解?
while(UART1.ucTX_Busy_Flag);   這條語(yǔ)句怎么理解?
uint8_t  volatile ucTX_Busy_Flag;  初始化賦值是  FALSE,

while(UART1.ucTX_Busy_Flag);   -> while(FALSE);   

/*
        * @name   SendData
        * @brief  發(fā)送字符
        * @param  dat:待發(fā)送字符
        * @retval None      
*/
static void SendData(uint8_t dat)
{
        while(UART1.ucTX_Busy_Flag);       //等待前面的數(shù)據(jù)發(fā)送完
        UART1.ucTX_Busy_Flag = TRUE;       //置位忙碌標(biāo)志
        SBUF = dat;                        //寫數(shù)據(jù)至UART寄存器
}


作者: Hephaestus    時(shí)間: 2023-9-15 15:47
UART1.ucTX_Busy_Flag為真就死循環(huán)。
作者: Longan.Wang    時(shí)間: 2023-9-15 17:26
注釋已經(jīng)說的很明白啊,保證USART發(fā)送部分空閑啊。
作者: 豬豬俠9527    時(shí)間: 2023-9-20 16:55
while(UART1.ucTX_Busy_Flag==1);則程序陷入死循環(huán)無(wú)法跳出,會(huì)不斷的執(zhí)行這行代碼
作者: 123456ZXC1    時(shí)間: 2023-9-20 17:22
用于等待UART1(通用異步收發(fā)器1)的發(fā)送緩沖區(qū)空閑標(biāo)志(ucTX_Busy_Flag)變?yōu)榉橇?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1