Почему я получаю эти предупреждения?

'void setup()':
C:\Users\\Documents\Arduino\libraries\DHT_sensor_library/DHT.h:44:1: error: expected initializer before 'static'
 static const uint8_t DHT11{11};  /**< DHT TYPE 11 */
 ^~~~~~
sketch_may23a:16:26: error: expected primary-expression before ')' token
  DHT dht (DHTPIN, DHTTYPE); // Initialize the DHT sensor
                          ^
sketch_may23a:37:1: error: a function-definition is not allowed here before '{' token
 {
 ^
sketch_may23a:55:1: error: a function-definition is not allowed here before '{' token
 {
 ^
sketch_may23a:85:1: error: a function-definition is not allowed here before '{' token
 {
 ^
sketch_may23a:139:3: error: a function-definition is not allowed here before '{' token
   {
   ^
C:\Users\mrtas\Desktop\sketch_may23a\sketch_may23a.ino: At global scope:
sketch_may23a:171:1: error: expected declaration before '}' token
 }

код

void loop() 
  // поместите сюда свой основной код для повторного запуска:
  
#include <stdlib.h>

#include <DHT.h>

#define DHTPIN 5         // Вывод данных DHT, подключенный к выводу 5 Arduino

#define DHTTYPE DHT    // DHT11 (тип датчика DHT)

 DHT dht (DHTPIN, DHTTYPE); // Инициализировать датчик DHT

#define SSID "wifi name "     // "Имя Wi-Fi"

#define PASS "password"       // "Пароль"

#define IP "api key"// thingspeak.com ip - адрес

String msg = "GET /update?key=TWE505JXFTXDPNB3"; // измените его с помощью вашего ключа...

float temp;

int hum;

String tempC;

int error;


void setup()

{

  Serial.begin(115200); // использовать значение по умолчанию 115200.

  Serial.println("AT");

  delay(5000);

  if(Serial.find("OK")){

    connectWiFi();

  }

}

void loop(){

   start: 

  error=0;

  temp = dht.readTemperature();

  hum = dht.readHumidity();

  char buffer[10];

  tempC = dtostrf(temp, 4, 1, buffer);

  updateTemp();

  if (error==1){

    goto start;

  }

 

  delay(5000);

}

void updateTemp()
{

  String cmd = "AT+CIPSTART=\"TCP\",\"";

  cmd += IP;

  cmd += "\",80";

  Serial.println(cmd);

  delay(2000);

  if(Serial.find("Error")){

    return;

  }

  cmd = msg ;

  cmd += "&field1=";  

  cmd += tempC;

  cmd += "&field2="; 

  cmd += String(hum);

  cmd += "\r\n";

  Serial.print("AT+CIPSEND=");

  Serial.println(cmd.length());

  if(Serial.find(">")){

    Serial.print(cmd);

  }

  else{

    Serial.println("AT+CIPCLOSE");

    //Отправить повторно...

    error=1;

  }

}

  boolean connectWiFi()
  {

  Serial.println("AT+CWMODE=1");

  delay(2000);

  String cmd="AT+CWJAP=\"";

  cmd+=SSID;

  cmd+="\",\"";

  cmd+=PASS;

  cmd+="\"";

  Serial.println(cmd);

  delay(5000);

  if(Serial.find("OK")){

    return true;

  }else{

    return false;

  }

}
}
}

, 👍-3

Обсуждение

DHT не относится к типу dht. Вы имеете в виду DHT11?, @chrisl

void цикл () У вас есть это в верхней части вашего файла, что было бы ненужным объявлением вашей функции loop *, если бы за ней следовала точка с запятой. Но это не так. После некоторой предварительной обработки ваш компилятор, вероятно, увидит что-то вроде void loop() static const uint8_t DHT11{11};, что, по понятным причинам, очень сбивает с толку. Удалите void loop () из верхней части вашего файла., @timemage