Re: [問題] 基本語法問題
剛才舉的例子
while ( !( UCSR0A & (1<<UDRE0)) );
目的只是檢查UCSR0A 第n個Bit是否等於1
假設UDRE0 = 5
1<<UDRE0的意思就是0x01左移5次(0b00100000)
寫成下面這樣也是可以的
while ( !( UCSR0A & 0x20) );
只是習慣罷了
----------------------------------------------
EX:
#define Flag0 0x01<<0 //0b00000001
#define Flag1 0x01<<1 //0b00000010
#define Flag2 0x01<<2 //0b00000100
#define Flag3 0x01<<3 //0b00001000
#define Flag4 0x01<<4 //0b00010000
#define Flag0 0x01
#define Flag1 0x02
#define Flag2 0x04
#define Flag3 0x08
#define Flag4 0x10
----------------------------------------------
※ 引述《papaya125 (都你說就好了)》之銘言:
: 各位好
: 請教一下
: 目前學習AVR中,經常看到 1<<A 這樣的語句
: EX:
: while ( !( UCSR0A & (1<<UDRE0)) );
: 翻書跟GOOGLE都查詢過了....不知是不是太基本都沒有說明
: 如果是A>>1 , 那就是右移1格
: 但是反過來呢?? 是指 UDRE0至位1嗎??
: 懇請幫忙解惑~~~
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.7.173
※ 文章網址: http://www.ptt.cc/bbs/ASM/M.1419871007.A.CE2.html
推
12/30 08:12, , 1F
12/30 08:12, 1F
→
12/30 08:13, , 2F
12/30 08:13, 2F
→
12/30 08:14, , 3F
12/30 08:14, 3F
→
12/30 13:06, , 4F
12/30 13:06, 4F
→
12/30 13:07, , 5F
12/30 13:07, 5F
→
12/30 13:08, , 6F
12/30 13:08, 6F
推
12/30 13:49, , 7F
12/30 13:49, 7F
推
12/30 16:33, , 8F
12/30 16:33, 8F
→
12/30 16:35, , 9F
12/30 16:35, 9F
→
12/30 16:36, , 10F
12/30 16:36, 10F
→
12/30 16:38, , 11F
12/30 16:38, 11F
→
12/30 16:40, , 12F
12/30 16:40, 12F
→
12/30 16:40, , 13F
12/30 16:40, 13F
→
12/30 20:34, , 14F
12/30 20:34, 14F
→
12/30 20:35, , 15F
12/30 20:35, 15F
→
12/30 20:35, , 16F
12/30 20:35, 16F
→
12/30 20:35, , 17F
12/30 20:35, 17F
→
12/30 20:36, , 18F
12/30 20:36, 18F
→
12/30 20:36, , 19F
12/30 20:36, 19F
→
12/30 20:36, , 20F
12/30 20:36, 20F
推
12/31 13:53, , 21F
12/31 13:53, 21F
推
12/31 14:03, , 22F
12/31 14:03, 22F
→
12/31 14:04, , 23F
12/31 14:04, 23F
→
12/31 14:07, , 24F
12/31 14:07, 24F
→
12/31 14:09, , 25F
12/31 14:09, 25F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章