IAR for ARM编译仿真位域变量值问题

2019-07-14 15:35发布

是这样的  我定义了几个位域作为标志,在仿真时发现某个标志被语句赋值1之后,变量窗口看此标志的值是ERROR并不是赋值后的1   为什么

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
dd66666
1楼-- · 2019-07-14 20:07
 精彩回答 2  元偷偷看……
ctwewer
2楼-- · 2019-07-14 22:30
dd66666 发表于 2018-11-30 19:17
是1bit数据啊  所以这个标志变量的值只能取0、1   但是我赋值1后 断点运行值是ERROR  如图

本帖最后由 wenyangzeng 于 2017-3-10 19:46 编辑

没看到你的图。实际上你这个结构只要这样就够了:
typedef struct
  {uint8_t FLAG0:1;
  .
  .
  .  uint8_t FLAG15:1;
  }BITS;
读某位:  BITS.FLAG0
何必弄得那么复杂。
uwyywefwd
3楼-- · 2019-07-15 00:55
图片不清晰,如果没记错的话,IAR变量值为ERROR是因为变量不具有全局性,非全局变量无法窗口查看。
uwyywefwd
4楼-- · 2019-07-15 03:47
uwyywefwd 发表于 2018-11-30 19:35
图片不清晰,如果没记错的话,IAR变量值为ERROR是因为变量不具有全局性,非全局变量无法窗口查看。

是图片描述不详细,不是不清楚。
dd66666
5楼-- · 2019-07-15 07:30
ctwewer 发表于 2018-11-30 19:27
本帖最后由 wenyangzeng 于 2017-3-10 19:46 编辑

没看到你的图。实际上你这个结构只要这样就够了:

因为这个位域定义了多个地方
dd66666
6楼-- · 2019-07-15 12:10
 精彩回答 2  元偷偷看……

一周热门 更多>