极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12848|回复: 3

大神帮忙看看 编译错误

[复制链接]
发表于 2017-4-7 15:25:22 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2017-4-7 16:19 编辑

[kenrobot_code]/*
  A0 舍内温度 T1
  A1 舍内湿度 H1
  A2 NH3浓度  N1
  A3 舍外温度 T2
  A4 舍外湿度 H2
  功能1:在屏幕上显示这5个参数数值;
  功能2:
  在1分钟内,以T1温度24小时偏差≤2℃,来控制[pin 6]风机的启动和停止的时间
  在1分钟内,以N1温度24小时偏差≤10 ,来控制[pin 8]风机的启动和停止的时间
*/

//定义各个传感器,
int T1Sensor = 1;  //
int H1Sensor = 2;
int N1Sensor = 3;  //
int T2Sensor = 4;
int H2Sensor = 5;

int Fan1Pin = 10;
int Fan2Pin = 11;

void setup()
{
  Serial.begin(9600);    //打开串口并设置通信波特率为9600
  pinMode(Fan1Pin, OUTPUT);
  pinMode(Fan2Pin, OUTPUT);
}

void loop()
{
  int valueT1 = 0, valueN1 = 0;
  const int cT1 = 26, cN1 = 100; //定义常数,需要修改
  while (1)
  {
    Serial.println(valueT1 = analogRead(T1Sensor)); //读取传感器值并在串口监视窗口显示传感器返回值
    Serial.println(analogRead(H1Sensor));
    Serial.println(valueN1 = analogRead(N1Sensor));
    Serial.println(analogRead(T2Sensor));
    Serial.println(analogRead(H2Sensor));

    if ((cT1 - 2) >= valueT1 || valueT1 <= (cT1 + 2)); //计算T1温度偏差
    {
      digitalWrite(Fan1Pin, LOW); //停
    }
    else                               这里是46行
    {
      digitalWrite(Fan1Pin, HIGH); //开
    }

    if (valueN1 >= cN1 - 10 || valueN1 <= cN1 + 10) //计算N1偏差
    {
      digitalWrite(Fan2Pin, HIGH); //停
    }
    else
    {
      digitalWrite(Fan2Pin, LOW); //开
    }

    delay(1000 * 60 * 5);       //每5分钟监视一次
  }
}[/kenrobot_code]

错误如下:

test2.ino: In function 'void loop()':
test2:46: error: 'else' without a previous 'if'
回复

使用道具 举报

发表于 2017-4-7 15:56:12 | 显示全部楼层
本帖最后由 董董soul 于 2017-4-7 15:59 编辑

你的if语句出错了,else没有相应的if;你可以把两个if,else,分别用两个大括号括起来试试
回复 支持 反对

使用道具 举报

发表于 2017-4-8 08:06:20 | 显示全部楼层
42行后面的;去掉
回复 支持 反对

使用道具 举报

发表于 2017-4-9 09:02:47 | 显示全部楼层
42行有问题
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 11:32 , Processed in 0.040121 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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