打印

C语言 变量赋值无效问题 —— 求助

[复制链接]
659|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Yuanliding|  楼主 | 2019-1-31 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问有人遇到过给 位域结构体 赋值无效的问题吗?
问题描述:定义了一个 外部变量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

下面附 位域结构体 的定义、赋值、调试查看寄存器值 三张截图:
[图片]
[图片]
[图片]

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝