標(biāo)題:
請教AVR單片機(jī)URAT串行通信
[打印本頁]
作者:
schgao
時間:
2009-4-16 08:47
標(biāo)題:
請教AVR單片機(jī)URAT串行通信
void uart_send(uchar data)
{
while(!(UCSRA&(BIT(UDRE)))) ;
UDR=data;
while(!(UCSRA&(BIT(TXC))));
UCSRA|=BIT(TXC);
}
上面的一小段程序?yàn)锳VR串行通信發(fā)送一個字節(jié)數(shù)據(jù)的程序
關(guān)于UCSRA|=BIT(TXC); 這句話不太理解
1.本來while(!(UCSRA&(BIT(TXC))));這句話已經(jīng)檢測到TXC為1了,為什么還要多UCSRA|=BIT(TXC); 這句話將其置1呢?
2.置1干什么啊,我覺得應(yīng)該是置0啊,就好象51的單片機(jī)里面的TI標(biāo)志位一樣。
請高手解釋一下吧,謝謝!
作者:
九天牧歌
時間:
2009-4-24 00:28
在AVR中是使用置1的方式來清除標(biāo)志位的,請查閱手冊
作者:
lf1984376
時間:
2010-2-24 16:13
一樓正解
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1