打印
[STM32F1]

while死循环的问题

[复制链接]
612|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

调试界面如图所示。发现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,那就难办了。

使用特权

评论回复
5
戈卫东| | 2017-9-15 21:15 | 只看该作者
这个变量是如何定义的?

使用特权

评论回复
6
dalarang| | 2017-9-15 21:28 | 只看该作者
被优化了

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

使用特权

评论回复
7
Cjy_JDxy|  楼主 | 2017-9-16 08:16 | 只看该作者
xixi2017 发表于 2017-9-15 21:04
不过你前面赋值的是100,你非说是0,那就难办了。

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

使用特权

评论回复
8
Cjy_JDxy|  楼主 | 2017-9-16 08:17 | 只看该作者
dalarang 发表于 2017-9-15 21:28
被优化了

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

谢谢!我试试

使用特权

评论回复
9
xixi2017| | 2017-9-18 22:10 | 只看该作者
搞定了没。

使用特权

评论回复
10
Cjy_JDxy|  楼主 | 2017-9-18 22:55 | 只看该作者

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

使用特权

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

本版积分规则

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

553

主题

3530

帖子

19

粉丝