极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: Stormer

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

[复制链接]
发表于 2017-1-15 18:37:29 | 显示全部楼层 |阅读模式

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

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

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

使用道具 举报

发表于 2017-1-15 19:33:41 | 显示全部楼层
不懂你的意思
回复 支持 反对

使用道具 举报

发表于 2017-1-15 20:50:44 | 显示全部楼层
为什么 一定要把执行的语句放到loop中呢?放到循环外面试试
回复 支持 反对

使用道具 举报

发表于 2017-1-16 07:47:08 | 显示全部楼层
只跑一次的就放在setup里面,loop里面不写就好
回复 支持 反对

使用道具 举报

发表于 2017-1-16 08:22:08 | 显示全部楼层
while(1);                 
回复 支持 反对

使用道具 举报

发表于 2017-1-16 10:37:51 | 显示全部楼层

loop
{
  while(i<=n)
  {

  }
}
回复 支持 反对

使用道具 举报

发表于 2017-1-19 13:33:06 | 显示全部楼层
Be1ieve 发表于 2017-1-16 07:47
只跑一次的就放在setup里面,loop里面不写就好

非常非常的正确!
回复 支持 反对

使用道具 举报

发表于 2017-1-19 15:46:43 | 显示全部楼层
楼主需求不明确

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

使用道具 举报

发表于 2018-2-25 21:40:30 来自手机 | 显示全部楼层
benson 发表于 2017-1-16 08:22
while(1);

正解,死循环。
回复 支持 反对

使用道具 举报

发表于 2018-3-6 12:40:07 | 显示全部楼层
研发模式下用死循环比较简单,很多代码可以看到类似代码
  1. while(1);
复制代码


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

使用道具 举报

发表于 2018-3-6 17:24:03 | 显示全部楼层
可以直接放在 setup() 段落里面, 如果你要让单片机等待你的信号才操作的话,建议学习一下中断.
回复 支持 反对

使用道具 举报

发表于 2018-3-6 17:30:03 | 显示全部楼层
我估计是题主表达的问题,应该是在指定的信号下,进入阻塞状态。。。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-24 16:15 , Processed in 0.054186 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表