[STM32F1]

while死循环的问题

[复制链接]
532|9
手机看帖
扫描二维码
随时随地手机跟帖
Cjy_JDxy|  楼主 | 2017-9-15 17:15 | 显示全部楼层 |阅读模式
1.jpg
调试界面如图所示。发现DtuCnt已经等于0,可是就是跳不出while循环。
哪位高手指教一下,谢谢!



xixi2017| | 2017-9-15 21:02 | 显示全部楼层
你在里面用个printf试试看,到底是不是0.

使用特权

评论回复
xixi2017| | 2017-9-15 21:03 | 显示全部楼层
如果是0,可以这么写
if(!DtuCnt)
break;

使用特权

评论回复
xixi2017| | 2017-9-15 21:04 | 显示全部楼层
不过你前面赋值的是100,你非说是0,那就难办了。

使用特权

评论回复
戈卫东| | 2017-9-15 21:15 | 显示全部楼层
这个变量是如何定义的?

使用特权

评论回复
dalarang| | 2017-9-15 21:28 | 显示全部楼层
被优化了

在定义DtuCnt时前面加上volatile关键字

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-16 08:16 | 显示全部楼层
xixi2017 发表于 2017-9-15 21:04
不过你前面赋值的是100,你非说是0,那就难办了。

那个变量在定时器中断里自减

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-16 08:17 | 显示全部楼层
dalarang 发表于 2017-9-15 21:28
被优化了

在定义DtuCnt时前面加上volatile关键字

谢谢!我试试

使用特权

评论回复
xixi2017| | 2017-9-18 22:10 | 显示全部楼层
搞定了没。

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-18 22:55 | 显示全部楼层

搞定了。我不用while循环了,用实时多任务里的延时函数。

使用特权

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

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3520

帖子

19

粉丝