C语言中共用体类型和联合体类型以及typedef的用法实例
//定义
typedef union {
uint32_t val;
struct {
uint32_t pa0_fsel :3;
uint32_t pa1_fsel :3;
uint32_t :2;
} BITS;
} PA_FSEL0;
typedef union {
uint32_t val;
struct {
uint32_t pa0_fsel :3;
uint32_t pa1_fsel :3;
uint32_t :2;
} BITS;
} PA_FSEL1;
typedef struct {
PA_FSEL0 pa_fsel0;
PA_FSEL1 pa_fsel1;
} SYSCTRL_TYPE;
#define SYSCTRL ((volatile SYSCTRL_TYPE *)(0x40001000))
使用:
SYSCTRL->pa_fsel1.val = 0x90;
SYSCTRL->pa_fsel1.BITS.pa11_fsel= 0b010;
浙公网安备 33010602011771号