[STM32F1] 求助if语句的一点困惑

[复制链接]
4383|52
changle11sdo5 发表于 2016-8-13 16:23 来自手机 | 显示全部楼层
冰零分子 发表于 2016-8-13 15:38
她是要跳出延时。。。。。

延时代码里加if(C!=1)break; 可以跳出延时的循环
谈的元 发表于 2016-8-13 18:07 来自手机 | 显示全部楼层
把延时函数循环里面加上判断,判断c为0返回即可,
likun123 发表于 2016-8-13 20:10 | 显示全部楼层
延时里面直接break出来
likun123 发表于 2016-8-13 20:11 | 显示全部楼层
实在不行直接goto也好
jyq007 发表于 2016-8-14 13:44 | 显示全部楼层
懒的出奇啊,没见过比你更懒的。用软件单步调试一下不就知道了。
perry_peng 发表于 2016-8-14 14:53 | 显示全部楼层
程序执行是有顺序的,
如果已经执行到delay_ms(100000);条件改变是不会再回头执行if(c==1).因此会执行完后跳出。
如果是在if(c==1)之前条件改变会直接跳过大括号。
amwim 发表于 2016-8-23 17:24 | 显示全部楼层
只要是条件为真,进入了超长延时,只能等延时结束了,才能退出来,中途判断不到条件。
米尔豪斯 发表于 2016-8-23 21:34 | 显示全部楼层
条件为真执行,为假就不执行
309030106 发表于 2016-8-23 22:01 | 显示全部楼层
控制电机用定时器中断
zjh2009 发表于 2016-8-23 22:54 | 显示全部楼层
正如19楼所示。如果不方便用中断的话。可以这样使用。但是STM32本身有systick。你可以把自己的检查时间放在systick的每毫秒检查里。
Stannis 发表于 2016-8-24 08:14 | 显示全部楼层
电机有惯性,还会干扰单片机的,EMI是否可靠
Bjorn 发表于 2016-8-24 18:25 | 显示全部楼层
当条件改变为假时是直接跳出大括号还是等延时结束后才跳出呢

当条件改变为假时,这里的大括号程序执行完跳出
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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