最近做USART,但我现在还不明白什么时候UTXIG0什么时候置1,什么时候置0,麻烦有经验的给我指导一下,帮我写详细点嘛,
while ((IFG1 & UTXIFG0) == 0);为什么要等待 UTXIFG0=1;那么正在发送时 UTXIFG0的值是多少,谢谢
wszqq:
发送数据时候把数据放到 TXBUF中,数据发送出去后TXBUF变空,TXIFG置1
手册中写的很清楚,请仔细查看手册
yffy:
UTXIFG0=1时,数据从buf中发送出去。
Lina Lian:
王显彬, 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.
Shi JianHua:
就是通讯时查询标志,然后再发,
Peter_Zheng:
UTXBUF是收发都用的,UTXIF0是个标志位,收发都能够产生标志位置位