为什么不能退出 while 循环?

发布于 2023-03-01 19: 41: 32

用 W806 的官方定时器 deom 程序. 加入一行 while 语句, 如下:
MyTime. ISR_1ms=0;
while (MyTime. ISR_1ms 20)
{

if (MyTime. ISR_1ms  = 10) 
{
break; 
}

}
定时器中断里面 MyTime. ISR_1ms++;
居然不能退出 while 循环, 这是被优化了? ? ?
微信截图_20230301194043. png

查看更多

关注者
0
被浏览
2. 3k
2 个回答
W806
W806 2023-03-02
这家伙很懒, 什么也没写!

把优化等级改成-O0, 就可以了

ZYQ
ZYQ 2023-03-02
我已不再支持 W80X 任何相关问题的回复, 请大家不要私信, 有问题找 isme 谢谢

中断里的变量值的改变, 一般需要加上 volatile 作为修饰

撰写答案

请登录后再发布答案, 点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览