请问有人遇到过给 位域结构体 赋值无效的问题吗?
问题描述:定义了一个 外部变量extern 位域结构体,给它赋值,然后调试查看寄存器值,发现寄存器值没有赋进去?
开发环境:CCS_6.2
编译器版本:TI v5.2.4
芯片器件:UCD3138A ARM7内核
下面附 位域结构体 的定义、赋值 代码:
定义:
typedef struct
{
Uint16 loop_switch :1;
Uint16 adc12_presample:1;
Uint16 sync_on:1;
Uint16 on_off_toggled:1;
Uint16 exit_iloop_timer:1;
Uint16 exit_iloop_timer_lock:1;
Uint16 res :10;
}CUSTOM_FLAG;
EXTERN CUSTOM_FLAG flag;
赋值:
flag.loop_switch = 1;
flag.sync_on = 1;
flag.on_off_toggled = 1;
flag.adc12_presample = 1;
flag.exit_iloop_timer = 1;
flag.exit_iloop_timer_lock = 1;
调试查看后各位域值为 0
下面附 位域结构体 的定义、赋值、调试查看寄存器值 三张截图:
[图片]
[图片]
[图片] |