gzw1316 发表于 2017-4-7 15:25:22

大神帮忙看看 编译错误

本帖最后由 弘毅 于 2017-4-7 16:19 编辑

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

//定义各个传感器,
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分钟监视一次
}
}

错误如下:

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

董董soul 发表于 2017-4-7 15:56:12

本帖最后由 董董soul 于 2017-4-7 15:59 编辑

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

i7456 发表于 2017-4-8 08:06:20

42行后面的;去掉

suoma 发表于 2017-4-9 09:02:47

42行有问题
页: [1]
查看完整版本: 大神帮忙看看 编译错误