极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12492|回复: 4

怎样让一段程序仅在开机时执行

[复制链接]
发表于 2015-8-13 03:57:23 | 显示全部楼层 |阅读模式
    一个检测仪,仅在开机时对一个舱室充气,当气压达到后就不再进行这个舱室的充气和气压监测了,所以考虑将这一部分程序在
void setup()里执行。写了一段程序但编译有错误,请大侠们给看看。

  1. int qy1=0;
  2. int cq=1;
  3. int qy1val;
  4. void setup()
  5. {
  6.   pinMode(cq,OUTPUT);
  7.   pinMode(qy1,INPUT);
  8.   qy1val=analogRead(qy1);
  9.   do
  10.   {
  11.    digitalWrite(cq,HIGH);
  12.   }
  13.   while(qy1val>4);
  14.   digitalWrite(cq,LOW);
  15. }

复制代码
回复

使用道具 举报

发表于 2015-8-13 05:51:04 | 显示全部楼层
看下错误提示就知道了。
主要的编译错误是:没有loop代码段,就算是空的,loop声明也是要有的。
还有:你定义的 int qy1=0; 0脚是arduino的串口发送脚,应该使用A0吧。
又看到一个:while(qy1val>4);  while加分号是要干什么呢,等 等 。。
回复 支持 反对

使用道具 举报

发表于 2015-8-13 10:06:06 | 显示全部楼层
liuxue4503 发表于 2015-8-13 05:51
看下错误提示就知道了。
主要的编译错误是:没有loop代码段,就算是空的,loop声明也是要有的。
还有:你 ...

哈哈,你竟然一下挑出这么多,我想挑都没有了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 10:39:28 | 显示全部楼层
真心感谢,的确是没有LOOP字段造成的,但while()后面的确是要加“;”,不然不能编译过去。
回复 支持 反对

使用道具 举报

发表于 2015-8-13 10:50:01 | 显示全部楼层
在loop最后加一段死循环就可以了。 只运行一遍
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 07:03 , Processed in 0.034315 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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