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