用KEIL MDK uVision4,如下程序,GPS_flg 是一个全局变量,当有GPS数据时就会中断被置1,结果我在while(1)外面判断GPS_flg就始终为0,进入死循环出不来,在while(1)里面就可以判断到GPS_flg为1,最后找不到问题,把优化level1改成level0就好了。折腾了半天时间,难道优化这么恐怖?
main()
{...
while(GPS_flg == 0)
{;}
while(1)
{
if(GPS_flg == 0)
i++;
if(GPS_flg == 1)
{
xprintf("i = %d\r\n", i++);
i=0;
}
...
}
}