这个数据结构如何理解?
typedef union _ATCR_TypeDef
{
uint16_t d16;
struct
{
uint16_t TRC: 5;
uint16_t MODE: 1;
uint16_t FRE: 2;
uint16_t SAT: 6;
uint16_t SYS: 2;
}
b;
}ATCR_TypeDef;
“:”后面的数字代表什么 struct 数据结构
[解决办法]
struct
{
uint16_t TRC: 5; //占5个二进制位
uint16_t MODE: 1; //占1个二进制位
uint16_t FRE: 2; //占2个二进制位
//上面占满8位,就是一个字节的内存空间了
//下面也是8位 也占了一个字节的内存空间
uint16_t SAT: 6; // 占6个二进制位
uint16_t SYS: 2; // 占2个二进制位
}
struct bs
{
int a:8; //这里标识int 4个字节,32位 只占8位而已
int b:2; // 这里 表示值占 2位,
int c:6; //6位
//只要后面没有用完 32位的话, 整个结构体大小就只是4个字节大小而已!
//全部换成char的话, char 8个字节, 结构体旧只占2个字节~
};