发新帖我要提问
123
返回列表
打印
[STM32F1]

求助if语句的一点困惑

[复制链接]
楼主: 梦娇
手机看帖
扫描二维码
随时随地手机跟帖
41
冰零分子 发表于 2016-8-13 15:38
她是要跳出延时。。。。。

延时代码里加if(C!=1)break; 可以跳出延时的循环

使用特权

评论回复
42
谈的元| | 2016-8-13 18:07 | 只看该作者
把延时函数循环里面加上判断,判断c为0返回即可,

使用特权

评论回复
43
likun123| | 2016-8-13 20:10 | 只看该作者
延时里面直接break出来

使用特权

评论回复
44
likun123| | 2016-8-13 20:11 | 只看该作者
实在不行直接goto也好

使用特权

评论回复
45
jyq007| | 2016-8-14 13:44 | 只看该作者
懒的出奇啊,没见过比你更懒的。用软件单步调试一下不就知道了。

使用特权

评论回复
46
perry_peng| | 2016-8-14 14:53 | 只看该作者
程序执行是有顺序的,
如果已经执行到delay_ms(100000);条件改变是不会再回头执行if(c==1).因此会执行完后跳出。
如果是在if(c==1)之前条件改变会直接跳过大括号。

使用特权

评论回复
47
amwim| | 2016-8-23 17:24 | 只看该作者
只要是条件为真,进入了超长延时,只能等延时结束了,才能退出来,中途判断不到条件。

使用特权

评论回复
48
米尔豪斯| | 2016-8-23 21:34 | 只看该作者
条件为真执行,为假就不执行

使用特权

评论回复
49
309030106| | 2016-8-23 22:01 | 只看该作者
控制电机用定时器中断

使用特权

评论回复
50
zjh2009| | 2016-8-23 22:54 | 只看该作者
正如19楼所示。如果不方便用中断的话。可以这样使用。但是STM32本身有systick。你可以把自己的检查时间放在systick的每毫秒检查里。

使用特权

评论回复
51
Stannis| | 2016-8-24 08:14 | 只看该作者
电机有惯性,还会干扰单片机的,EMI是否可靠

使用特权

评论回复
52
Bjorn| | 2016-8-24 18:25 | 只看该作者
当条件改变为假时是直接跳出大括号还是等延时结束后才跳出呢

当条件改变为假时,这里的大括号程序执行完跳出

使用特权

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

本版积分规则