全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:979
推到 Plurk!
推到 Facebook!

在KEIL C中的語法看不太懂

答題得分者是:liangnet
lukekuo0903
一般會員


發表:2
回覆:0
積分:0
註冊:2004-12-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-23 22:46:21 IP:140.134.xxx.xxx 未訂閱
這是定義AT89C5131的暫存器... 大括號中的動作看不太懂.. 請各位大大幫我看看... #define SET_SFR_BIT(sfr_reg, bit_pos, bit_val) { sfr_reg &= ~(1<<(bit_pos)); sfr_reg |= ((bit_val)<<(bit_pos));}
liangnet
中階會員


發表:19
回覆:148
積分:83
註冊:2004-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-24 16:36:43 IP:218.170.xxx.xxx 未訂閱
這是定義巨集指令,動作是要讓你可以設定sfr暫存器的某一個bit為0或1 例如: //設定P1的Bit 2為 1 SET_SFR_BIT(P1,2,1); 程式編譯時,就會把這一行展開為如下 //假設P1 = 0xAA; { P1 &= ~(1 << (2)); // P1 = P1 and 0xFB = 0xAA and 0xFB = 0xAA P1 |= ((1) << (2)); // P1 = P1 or 0x04 = 0xAA or 0x04 = 0xAE } //結果 P1 = 0xAE
系統時間:2024-05-08 6:52:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!