硬件接口定義不是這樣的。
參見(jiàn)SBIT類型定義了一個(gè)特殊功能寄存器(SFR)內(nèi)的位。它以下列方式之一使用:sbit name = sfr-name ^ bit-position ;sbit name = sfr-address ^ bit-position ;sbit name = sbit-address ;
name | 是位的名稱。 | SFR name | 是以前定義的SFR的名稱。 | 位位置 | 是SFR內(nèi)位的位置。 | SFR地址 | 是SFR的地址。 | SBIT地址 | 是SFR位的地址。 |
- 注意
- 存儲(chǔ)使用sbit訪問(wèn)的對(duì)象被認(rèn)為是小端(最低位在前)。這是sfr16類型的存儲(chǔ)格式, 但與int,long數(shù)據(jù)類型的存儲(chǔ)方式相反。使用sbit 訪問(wèn)標(biāo)準(zhǔn)數(shù)據(jù)類型中的位時(shí)必須小心。
任何符號(hào)名稱都可以在sbit聲明中使用。等號(hào)右邊的表達(dá)式('=')指定符號(hào)名稱的絕對(duì)位地址。 - 并不是所有的SFR都是可以位尋址的。只有那些地址可以被8整除的SFR才是可以位尋址的。SFR地址的低半字節(jié)必須是0或8.例如,0xA8和0xD0的SFR是可位尋址的,而0xC7和0xEB的SFR不是。要計(jì)算SFR位地址,請(qǐng)將位位置添加到SFR字節(jié)地址。因此,要訪問(wèn)0xC8的SFR中的位6,SFR位地址將為0xCE(0xC8 + 6)。
- 特殊功能位表示一個(gè)獨(dú)立的聲明類,不能與其他位聲明或位域互換。
- 所述SBIT數(shù)據(jù)類型聲明可以被用來(lái)訪問(wèn)與聲明的變量的各個(gè)位BDATA存儲(chǔ)器類型說(shuō)明符。。
- sbit變量不能在函數(shù)內(nèi)聲明。它們必須在函數(shù)體外部聲明。
|