[問題] BIT FILED的STRUCTURE能超過8BIT嗎?
大家好,我在用微控器寫程式,我想請問BIT FILED的
UNION和STRUCTURE宣告,是否有辦法直接處理超過8位元的變數
比如下方的STURCTURE定義:
有沒有辦法將
uint8_t VUV_8LSB : 8;
uint8_t VUV_4MSB : 4;
uint8_t VOV_4LSB : 4;
uint8_t VOV_8MSB : 8;
直接做成
uint16_t VUV :12;
uint16_t VOV :12;
而不會浪費任何空間呢?
typedef struct cfgw_tag {
union {
struct {
uint8_t CFGR0;
uint8_t CFGR1;
uint8_t CFGR2;
uint8_t CFGR3;
uint8_t CFGR4;
uint8_t CFGR5;
};
struct {
uint8_t ADCOPT :1;
uint8_t SWTRD :1;
uint8_t REFON :1;
uint8_t GPIO :5;
uint8_t VUV_8LSB : 8;
uint8_t VUV_4MSB : 4;
uint8_t VOV_4LSB : 4;
uint8_t VOV_8MSB : 8;
uint8_t DCC_8LSB : 8;
uint8_t DCC_4MSB : 4;
uint8_t DCTO : 4;
};
};
}CFG_WRITE;
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.61.219
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1440506211.A.F04.html
推
08/25 21:18, , 1F
08/25 21:18, 1F
→
08/25 21:23, , 2F
08/25 21:23, 2F
→
08/25 21:24, , 3F
08/25 21:24, 3F
→
08/25 21:58, , 4F
08/25 21:58, 4F
→
08/26 00:38, , 5F
08/26 00:38, 5F
→
08/26 00:38, , 6F
08/26 00:38, 6F
→
08/26 08:54, , 7F
08/26 08:54, 7F
推
08/26 15:14, , 8F
08/26 15:14, 8F
→
08/26 15:15, , 9F
08/26 15:15, 9F
→
08/26 15:15, , 10F
08/26 15:15, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章