Stormer 发表于 2017-1-15 18:37:29

如何实现运行完loop里的内容后一直停止?


现在的做法是在 void loop() 末尾加上 delay (10000);

然而这个停留的数值再大也会有个重新运行的时候,如何写才能让程序执行一次就不刷新了?

加个全局变量,运行一次后自增1,然后loop用个if扩起来,只要这个全局变量自增过就不运行。 这样应该可以,不过是否有什么语句可以实现呢?类似 delay (10000);这样。

单片机菜鸟 发表于 2017-1-15 19:33:41

不懂你的意思

cuijie74 发表于 2017-1-15 20:50:44

为什么 一定要把执行的语句放到loop中呢?放到循环外面试试

Be1ieve 发表于 2017-1-16 07:47:08

只跑一次的就放在setup里面,loop里面不写就好

benson 发表于 2017-1-16 08:22:08

while(1);               

znstj 发表于 2017-1-16 10:37:51


loop
{
while(i<=n)
{

}
}

hesg 发表于 2017-1-19 13:33:06

Be1ieve 发表于 2017-1-16 07:47
只跑一次的就放在setup里面,loop里面不写就好

非常非常的正确!

ianon 发表于 2017-1-19 15:46:43

楼主需求不明确

我觉得比较好的方法是,执行完命令后让单片机进入休眠,而不是让它在空循环

zmc419 发表于 2018-2-25 21:40:30

benson 发表于 2017-1-16 08:22
while(1);

正解,死循环。

Damn_intuition 发表于 2018-3-6 12:40:07

研发模式下用死循环比较简单,很多代码可以看到类似代码
while(1);


产品应用应该通过电源管理功能,使设备进入低功耗模式。

yoyojacky 发表于 2018-3-6 17:24:03

可以直接放在 setup() 段落里面, 如果你要让单片机等待你的信号才操作的话,建议学习一下中断.

迷你强 发表于 2018-3-6 17:30:03

:lol我估计是题主表达的问题,应该是在指定的信号下,进入阻塞状态。。。。。。。。
页: [1]
查看完整版本: 如何实现运行完loop里的内容后一直停止?