最近做USART,但我现在还不明白什么时候UTXIG0什么时候置1,什么时候置0,麻烦有经验的给我指导一下,帮我写详细点嘛,
while ((IFG1 & UTXIFG0) == 0);为什么要等待 UTXIFG0=1;那么正在发送时 UTXIFG0的值是多少,谢谢
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.
王显彬, user guide中的原话为:UTXIFG0 is set when U0TXBUF is empty.。 即当U0TXBUF中的数据发送出去以后(U0TXBUF为空,可填充新的发送数据时),UTXIFG0才置1.
王显彬 说:while ((IFG1 & UTXIFG0) == 0);为什么要等待 UTXIFG0=1;那么正在发送时 UTXIFG0的值是多少,谢谢
而你说的这句程序while ((IFG1 & UTXIFG0) == 0); 是在等待U0TXBUF中的数据发送出去,如果UTXIFG0为0,那么说明U0TXBUF的数据还未发送出去或正在发送,还没有发送完毕,故一直停留在这句等待数据发送出去。一旦U0TXBUF为空,数据发送完毕,那么 UTXIFG0=1,则可以继续填充新的发送数据,或者进行其他操作。故正在发送时 UTXIFG0的值为0.