第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我覺得這個<<不代表移位操作,是什么意思還不懂。誰能給說明白點?

我覺得這個<<不代表移位操作,是什么意思還不懂。誰能給說明白點?

瀟瀟雨雨 2022-10-02 16:09:55
解釋一下這兩句:1) UCSR0A&(1<<UDRE0)2)value+=(8<<ADCH)說明:這個事avr單片機里的程序,<<不是移位運算么?但是上面兩句看不大懂現(xiàn)在不管原始問題的第二問,只看第一個問題,第一個問題的全部代碼是:1)void putc(char c){while(!UCSR0A&(1<<UDRE0))UDR0=c;}說明:UCSR0A是一個寄存器(8位,編號0-7),UDRE0是其中的第5位(bit5),我感覺的意思就是如果UDRE0是1的話,UDR0=c,但是上面那種表示搞不明白為什么?!冒?,在說的詳細點,1)代碼就是一個簡單的函數(shù),UDR0是USART(也就是串口)數(shù)據(jù)寄存器,UCSR0A是USART的控制和狀態(tài)寄存器,其中,bit-5是UDRE0,UDRE0的作用是標志發(fā)送緩沖器UDR0是否準備好接受。----------------------------------------------------------------我知道<<是移位操作,但是有一點不懂的是UDRE0是一位啊,也就是說要么是0要么是1那UCSR0A要么與0x1,要么與0x2,但是UCSR0A的最后兩位并不是與此函數(shù)功能相關(guān)的位
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻1865條經(jīng)驗 獲得超7個贊

ADCH應(yīng)該是個宏,最終對應(yīng)一個整數(shù),
8<<ADCH可理解為把8乘了ADCH次2,再加到value里。
用移位來做乘2或者除以2操作比直接乘除快很多。

哦,這么回事呀。那么我猜是這樣:
UCSR0A中的第UDRE0位表示發(fā)送緩沖器UDR0是否就緒。
因為函數(shù)名叫putc(我理解是向UDR0對應(yīng)的設(shè)備輸出一個字符)
while(!UCSR0A&(1<<UDRE0)持續(xù)的檢查UDR0是否已經(jīng)就緒了。
若就緒,就把字符c傳入UDR0中(就是寫入設(shè)備)

查看完整回答
反對 回復(fù) 2022-10-06
?
炎炎設(shè)計

TA貢獻1808條經(jīng)驗 獲得超4個贊

你給了這么多代碼,不知道給你解釋哪個
就按照你最初的問題解釋吧
我沒有做過AVR單片機,只是按照代碼給你解釋
(1)當(dāng)UDRE0為0時 UCSR0A與上0x01
當(dāng)UDRE0為1時 UCSR0A與上0x02,

(2)value=value+(0x08左移ADCH位的值)
比如ADCH為0時 (0x08左移ADCH位的值)是0x08
比如ADCH為1時 (0x08左移ADCH位的值)是0x10
比如ADCH為2時 (0x08左移ADCH位的值)是0x20


查看完整回答
反對 回復(fù) 2022-10-06
?
慕桂英4014372

TA貢獻1871條經(jīng)驗 獲得超13個贊

UCSR0A&(1<<UDRE0)
這一句的意思是如果UCSR0A的第UDRE0位為1的話,整句的結(jié)果就為UDRE0

查看完整回答
反對 回復(fù) 2022-10-06
  • 3 回答
  • 0 關(guān)注
  • 126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號