[問題] 很基本~卻想不出~C語法~HI.LOW

看板C_and_CPP (C/C++)作者 (小D(滴))時間14年前 (2011/09/05 18:00), 編輯推噓2(206)
留言8則, 5人參與, 最新討論串1/2 (看更多)
附上程式碼 #define SET_BIT(io ,bit) ( io |= (1<<bit) ) //example: SET_BIT(PORTA,0);SET_BIT(DDRA,0); #define CLR_BIT(io ,bit) ( io &= ~(1<<bit) ) //example: CLR_BIT(PORTA,0);CLR_BIT(DDRA,0); 想請教 SET_BIT 和 CLR_BIT出來會是1 還是 0呢?? (看情況應該一個為HI.一個為LOW) 先求助大家~~ >< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.75.84.96

09/05 18:02, , 1F
你有實際跑跑看嗎?
09/05 18:02, 1F

09/05 18:54, , 2F
bitwise operation ... 建議實際帶值進去跑跑看
09/05 18:54, 2F

09/05 18:55, , 3F
看來應該是SET=1 CLR=0
09/05 18:55, 3F

09/05 20:29, , 4F
這跟HI LOW 有啥關係...
09/05 20:29, 4F

09/05 21:01, , 5F
在電子的術語,Set就是把某個位元設成1,clear就是清為0
09/05 21:01, 5F

09/05 21:02, , 6F
他的參數2是0所以每次都針對least significant bit去設值
09/05 21:02, 6F

09/06 11:26, , 7F
因為1會讓電子腳位為HI~反之0腳位為LOW..
09/06 11:26, 7F

09/06 11:27, , 8F
因為參考別人寫的SPI程式.但對於這很基本語法卻看不懂
09/06 11:27, 8F
文章代碼(AID): #1EP9tBsQ (C_and_CPP)
文章代碼(AID): #1EP9tBsQ (C_and_CPP)