“在'if'之前的预期不合格ID”是什么意思?

时间:2019-09-27 02:21:33

标签: arduino arduino-uno

  

我不明白为什么它不起作用。我正在研究修补程序,他们说要在void循环中添加“ if”块。好吧,那总是在空循环中。你能告诉我意思和解决办法吗?另外,如果还有更多错误,请通知我,以便我进行修复。我的代码可能有点混乱。   我的代码:

#include <LiquidCrystal.h>

LiquidCrystal lcd (7,8,9,10,11,12);

int pinDHT11 = 2;
SimpleDHT11 dht11;

void setup() {
  Serial.begin(9600);
lcd.begin(16,2);
}

void loop() {
}
   if (dht11.read(pinDHT11, &temperature, &humidity,data))
    Serial.print("Read DHT11 failed");
    return;

  byte temperature = 0;
  byte humidity = 0;
  byte data[40] = {0};
  if(dht11.read (pinDHT11, &temperature, &humidity, data)) 
    return;
  Serial.print("Read DHT11 failed");



  Serial.println("=================================");
  Serial.println("Sample DHT11...");

  // read with raw sample data.
  byte temperature = 0;
  byte humidity = 0;
  byte data[40] = {0};


  }

  Serial.print("Sample RAW Bits: ");
  for (int i = 0; i < 40; i++) {
    Serial.print((int)data[i]);
    if (i > 0 && ((i + 1) % 4) == 0) {
      Serial.print(' ');
    }
  }
  Serial.println("");
  Serial.print("Sample OK: ");

  Serial.print((int)temperature); Serial.print("*C,");
  Serial.print((int)humidity); Serial.println("%");

  lcd.setCursor(0,0);
  lcd.print((int)temperature);
  lcd.setCursor(0,1);
  lcd,print((int)humidity);

  // DHT11 sampling rate is 1HZ.
  delay(1000);

1 个答案:

答案 0 :(得分:2)

您的空循环为空。

void loop() {
}

引起此错误消息的原因是您可能没有函数之外的代码。函数外部唯一允许的是声明。

有一个}没有匹配的{

您还有两个无条件的return语句。

,而不是.

lcd,print((int)humidity);