你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
wanyisq 提问时间:2017-3-10 16:17 /
是这样的  我定义了几个位域作为标志,在仿真时发现某个标志被语句赋值1之后,变量窗口看此标志的值是ERROR并不是赋值后的1   为什么

此标志是位于中的一位

此标志是位于中的一位

定义的位于

定义的位于
收藏 1 评论7 发布时间:2017-3-10 16:17

举报

7个回答
wenyangzeng 回答时间:2017-3-10 16:31:32
你那个冒号1(:1)只不过是定义变量为1bit数据宽度而已。
wanyisq 回答时间:2017-3-10 17:19:17
wenyangzeng 发表于 2017-3-10 16:31
你那个冒号1(:1)只不过是定义变量为1bit数据宽度而已。

是1bit数据啊  所以这个标志变量的值只能取0、1   但是我赋值1后 断点运行值是ERROR  如图
wenyangzeng 回答时间:2017-3-10 19:45:19
本帖最后由 wenyangzeng 于 2017-3-10 19:46 编辑
wanyisq 发表于 2017-3-10 17:19
是1bit数据啊  所以这个标志变量的值只能取0、1   但是我赋值1后 断点运行值是ERROR  如图 ...

没看到你的图。实际上你这个结构只要这样就够了:
typedef struct
  {uint8_t FLAG0:1;
  .
  .
  .  uint8_t FLAG15:1;
  }BITS;
读某位:  BITS.FLAG0
何必弄得那么复杂。
酱哒哒 回答时间:2017-3-11 16:07:53
图片不清晰,如果没记错的话,IAR变量值为ERROR是因为变量不具有全局性,非全局变量无法窗口查看。
酱哒哒 回答时间:2017-3-11 16:08:15
酱哒哒 发表于 2017-3-11 16:07
图片不清晰,如果没记错的话,IAR变量值为ERROR是因为变量不具有全局性,非全局变量无法窗口查看。 ...

是图片描述不详细,不是不清楚。
wanyisq 回答时间:2017-3-12 11:11:01
wenyangzeng 发表于 2017-3-10 19:45
没看到你的图。实际上你这个结构只要这样就够了:
typedef struct
  {uint8_t FLAG0:1;

因为这个位域定义了多个地方
wanyisq 回答时间:2017-3-12 11:12:14
酱哒哒 发表于 2017-3-11 16:07
图片不清晰,如果没记错的话,IAR变量值为ERROR是因为变量不具有全局性,非全局变量无法窗口查看。 ...

谢谢 这些标志是全局变量  的确发现了非全局变量不能查看  错误和非全局变量提示一样

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版