推 papaya125: 很感謝您的解答!!!!! 12/30 08:12
→ papaya125: 再請教一下,若改成 2<<UDRE0 12/30 08:13
→ papaya125: 是否就是 0x02開始左移呢?? 12/30 08:14
→ maxpower: 是阿,我自己對這種寫法有點反感,但人家都建好了,那就拿 12/30 13:06
→ maxpower: 來用吧,不用太糾結 12/30 13:07
→ maxpower: 知道他在寫什麼就好 12/30 13:08
推 papaya125: 非常感謝 12/30 13:49
推 papaya125: 再請教一個問題 當我知道 UCSR0A & (1<<UDRE0) 12/30 16:33
→ papaya125: 就是指 UCSR0A的某位元 那While(!(UCSR0A某bit)) 12/30 16:35
→ papaya125: !要如何判斷 原先是1或是0呢?? 不好意思 初學者Q__Q 12/30 16:36
→ papaya125: UDRE0 初值為1 12/30 16:38
→ papaya125: 所以 他是直接判斷該位初始值,然後若初始值變動 就執行 12/30 16:40
→ papaya125: 請問這樣說法對嗎? 12/30 16:40
→ maxpower: 要如何判斷1或0,請先去查一下AND的真值表 12/30 20:34
→ maxpower: 和0做AND運算,出來的結果一定等於0 12/30 20:35
→ maxpower: 只有1 AND 1 結果才會等於1 12/30 20:35
→ maxpower: 假如UCSR0A = 0xAA ( 0b10101010 ) 12/30 20:35
→ maxpower: UCSR0A & 0x20 = 0x20 ( 0b00100000 ) 12/30 20:36
→ maxpower: 假如UCSR0A = 0x55 ( 0b01010101 ) 12/30 20:36
→ maxpower: UCSR0A & 0x20 = 0 ( 0b00000000 ) 12/30 20:36
推 papaya125: m大我還是不太懂耶!!! 12/31 13:53
推 papaya125: 意思就是主要是看datasheet然後找UCSR0A的初值來看嗎? 12/31 14:03
→ papaya125: UCSR0A的初值是 0b00100000 12/31 14:04
→ papaya125: 又 UDRE0是 bit5 所以他就會知道 UCSR0A&(1<<UDRE0)為1 12/31 14:07
→ papaya125: 應該是這樣哦!!!感謝m大讓我撥雲見日阿!!! 12/31 14:09