[AVR单片机] 我用的是AVR STUDIO 6 编程AVR单片机程序

[复制链接]
2076|6
 楼主| qq4988 发表于 2014-7-9 12:26 | 显示全部楼层 |阅读模式
我用的是AVR STUDIO 6
在写程序时,写了一句while(!flag);  flag标志是在外部中断中置1的,这种情况下,程序一直死在了while()处,得不到flag的值,这是什么情况
huangxz 发表于 2014-7-9 14:08 | 显示全部楼层
flag 要设置成易变类型的
 楼主| qq4988 发表于 2014-7-9 16:34 | 显示全部楼层
测试得知,是STUDIO 6.0编译器的问题,选择不优化的时候,则可以运行过去,只要是选择了优化,就死掉了,编译器的问题,害的我弄了好几天,浪费时间,浪费感情
john_lee 发表于 2014-7-11 00:25 | 显示全部楼层
qq4988 发表于 2014-7-9 16:34
测试得知,是STUDIO 6.0编译器的问题,选择不优化的时候,则可以运行过去,只要是选择了优化,就死掉了,编 ...

不是编译器的问题,而是你的水平问题。
 楼主| qq4988 发表于 2014-7-11 08:28 | 显示全部楼层
john_lee 发表于 2014-7-11 00:25
不是编译器的问题,而是你的水平问题。

没有试过,不要乱说话
yubsh 发表于 2014-7-11 09:55 | 显示全部楼层
嵌入式编程和上位机写C代码还是有很大区别的,你要不服,就会不断地遭遇这类问题,直到你崩溃。
john_lee 发表于 2014-7-11 13:02 | 显示全部楼层
qq4988 发表于 2014-7-11 08:28
没有试过,不要乱说话

你认为编译器生成的代码没有按你的“想法”运行就是编译器的问题?告诉你,编译器都有正当的理由不按你的“想法”来做。以你目前的水平来说,还不足以发现编译器的bug,实际上,是你的写的程序没有正确“体现”你的“想法”,而你不知道要怎样“体现”;你遇到的问题,论坛里绝大多数坛友都知道原因,2楼都已经给你说明了,不懂?那就仍然是水平问题。

不知道怎么体现也不是丑事,不虚心请教网友并验证,反而拿自己错误的认知来污蔑编译器有问题还固执己见,这就不仅仅是水平问题了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

781

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部