把寄存器定义为结构体,寄存器里的位都是“位域”,例如:
typedef struct {
uint8_t enable : 1;
uint8_t tick_int : 1;
uint8_t clk_source: 1;
uint16_t : 13;
uint8_t count_flag : 1;
} Systick_Ctrl;
然后定义该寄存器的指针:
#define SYSTICK_CTRL ((Systick_Ctrl*) 0xe000e010)
在程序中访问时这样: