嵌入式C开发中用到的位域结构体
生活随笔
收集整理的這篇文章主要介紹了
嵌入式C开发中用到的位域结构体
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、位域描述
? ? 存放一個開關量或者其他開關狀態時,用一位二進位即可。為了減少嵌入式內存資源的開銷,可以使用位域進行定義,位域是C語言支持的一種數據結構,稱為“位域”或“位段”。“位域”是把一個字節中的每個位劃分為幾個不同的區域,并指明每個區域的位數。每個域有一個域名,允許在程序中按域名進行操作。
二、定義
定義一個結構體源代碼如下:
typedef struct
{
????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;
三、調用
直接采用結構體調用方式即可,例如s_tMeterInfo.Attr.SChl。
總結
以上是生活随笔為你收集整理的嵌入式C开发中用到的位域结构体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UI自动化测试工具-AirTest
- 下一篇: python中的括号不是西文吗_二级Py