打印

请教高手关于volatile修饰用法问题

[复制链接]
1637|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
energy2008|  楼主 | 2010-3-26 08:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一全局变量在while(1)捕获外部信号,需要用volatile,可是变量加上volatile修饰后还是不能捕获外部信号,而是直接取值寄存器里面的值,资料说着是优化器优化的问题,请问高手,是不是volatile不能用于while(1)死循环,还是有其他什么需要注意的地方,麻烦大家了,谢谢!

相关帖子

沙发
IJK| | 2010-3-26 10:43 | 只看该作者
是不是volatile不能用于while(1)死循环?
可以,volatile能用于while(1)死循环。

使用特权

评论回复
板凳
IJK| | 2010-3-26 10:45 | 只看该作者
变量加上volatile修饰后还是不能捕获外部信号,而是直接取值寄存器里面的值---这要看代码是怎样写的。

最好把C的源代码,以及编译生成的汇编代码都贴出来,才看得清楚。

使用特权

评论回复
地板
energy2008|  楼主 | 2010-3-26 23:15 | 只看该作者
把WHILE(1)去掉就运行正常,volatile修饰了一个动态外部变量

使用特权

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

本版积分规则

0

主题

12

帖子

1

粉丝