存放乙個開關量或者其他開關狀態時,用一位二進位即可。為了減少嵌入式記憶體資源的開銷,可以使用位域進行定義,位域是c語言支援的一種資料結構,稱為「位域」或「位段」。「位域」是把乙個位元組中的每個位劃分為幾個不同的區域,並指明每個區域的位數。每個域有乙個網域名稱,允許在程式中按網域名稱進行操作。
定義乙個結構體源**如下:
typedef struct直接採用結構體呼叫方式即可,例如s_tmeterinfo.attr.schl。uint32_t id;
struct sattr
uint8_t schl:4; //終端傳送資料的頻點,
uint8_t rmsg:4; //要讀取的報文的序號,從0開始表示第一條報文
}attr;用冒號:來指明占用的位數,本例中結構體attr定義為位域結構體,總共占用1位元組 schl=4bit rmsg=4bit
}pollmeterinfotype;
pollmeterinfotype s_tmeterinfo;
嵌入式C高階筆記 結構體
在實際的處理物件中,有許多資訊是由多個不同型別的資料組合在一起進行描述,而且這些不同型別的資料是互相聯絡組成了乙個有機的整體。此時,就要用到一種新的構造型別資料 結構體 structure 簡稱結構。定義乙個結構型別的一般形式為 struct 結構體名 結構體屬於c語言的一種資料型別,與整型 實型相...
C結構體的位域
有些資訊在儲存時,並不需要占用乙個完整的位元組,而只需佔幾個或乙個二進位制位。例如在存放乙個開關量時,只有0和1 兩種狀態,用一位二進位即可。為了節省儲存空間,並使處理簡便,c語言又提供了一種資料結構,稱為 位域 或 位段 所謂 位域 是把乙個位元組中的二進位劃分為幾個不同的區域,並說明每個區域的位...
嵌入式開發中常用到的C語言庫函式
1.sprintf 函式原型 int sprintf char string,char format,argument,sprintf函式說明 字串格式化命令,主要功能是將格式化資料寫入某個字串中,即傳送格式化輸出到string所指向的字串。函式返回值 字串長度 eg sprintf s,s d c...