做低层时,经常会读写寄存器,比如操作某位,设置为0或1,而在C语言中便为我们提供一种数据结构”位域”,使得我们通过读写”位域”来实现操作某位....3.位域之越界处理
比如,我们定义的某个位域只有固定1位,如果向该位写入超过1位的值.会自动保留最低1位....4.注意, 使用位域的结构体的长度默认最小值为int型(4字节),如果超过4字节(32位),则会是64位
示例:
#include
struct {
unsigned...a:4;
unsigned b:2;
unsigned c:1;
}reg1; //位域总长度只有7位
struct reg{
unsigned...5.如果某个寄存器只有8位(1字节),该如何使用位域处理?
使用union联合体,使各字段共享一块内存,通过读写union结构体里的char变量即可.