[讨论] AVRstudio6仿真时变量值不变化

johnrita   2015-12-16 19:12 楼主
在AVRstudio里面仿真,设置多个断点,可以运行,也没有错误或者警告,

但从watch里面看不到任何值在变化,虽然程序在跑。

这是为何,详见附件图片。

亲们,快来帮帮我把
  • QQ截图20151216191054.png

回复评论 (7)

你在watch中定义试试,你看的是local变量。
点赞  2015-12-16 21:16
我切换到watch后,结果还是一样。请看附件。
咋弄的?
  • QQ截图20151217085213.png
点赞  2015-12-17 08:52
引用: johnrita 发表于 2015-12-17 08:52
我切换到watch后,结果还是一样。请看附件。
咋弄的?

有可能被编译器优化了。要看看你程序中是怎样定义和使用的。

没有看到附件啊。
点赞  2015-12-17 10:53
附件就是图片啦。
优化了如何关闭呢?
点赞  2015-12-17 10:56
搞不定。

我试了别的工程就可以。不知道哪里有配置问题
点赞  2015-12-18 12:42
引用: johnrita 发表于 2015-12-18 12:42
搞不定。

我试了别的工程就可以。不知道哪里有配置问题

变量尽量定义为全局变量,甚至要加上volatile关键字,这样就不会被优化。虽然优化后对运行没有影响,但是可能会影响到仿真的。
点赞  2015-12-18 13:08
哦,对的,
我加上volatile后就正常了。


感谢版主dcexpert  !!
点赞  2015-12-18 14:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复