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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版