Пытаюсь распечатать элементы в структуре на aruino и получаю эту ошибку на compliation

esp32 loop struct print

Я пишу код для измерения некоторых значений датчиков, хранения их в структуре и печати после определенного предела. Я использую Arduino 1.8.11, программируя DOIT ESP32 DEVKIT V1 Вот мой код

#include <ClosedCube_HDC1080.h>
#include <Wire.h>

RTC_DATA_ATTR int logCounter = 0;

ClosedCube_HDC1080 hdc1080;
typedef struct {
  float Temp;
  float Pressure;
} Records;

#define maxLogs 5 // store these many records before reset
#define sleepTimein_second  10 // sleeptime in secs

#define sleeptime = ((sleepTimein_second*uS_TO_S_FACTOR));  //Final deepsleep time in uS

RTC_DATA_ATTR Records Logs[maxLogs];

#define I2C_SDA   19   // HDC1080 SDA PIN to ESP32 
#define I2C_SCL   22   // HDC1080 SCL PIN to ESP32

void setup() {
  Serial.begin(115200);
    
  Wire.begin(I2C_SDA, I2C_SCL);

  hdc1080.begin(0x40);

    Serial.println("Record new values");
    Records[logCounter].Temp     = hdc1080.readTemp();       // Units °C
    Records[logCounter].Pressure = hdc1080.readHumi(); // Units %
    logCounter++;
    

    if (logCounter >= maxLogs) {
      for (int i = 0; i < maxLogs; i++){
        // Display records in CSV format to the serial port
        Serial.println(i+",");
        Serial.print(Records[i].Temp+",");
        Serial.print(Records[i].Pressure);
      }
      logCounter = 0;
    }  
  } else {
    // check connection with HDC1080
    Serial.println("Sorry but HDC1080 did not respond !");
  }
  
  // Go in deep sleep
  esp_sleep_enable_timer_wakeup(sleeptime);
  
  esp_deep_sleep_start();
}

После компиляции я получаю следующую ошибку ожидаемое первичное выражение перед '[' токеном Что я делаю не так? Пожалуйста, помогите !!! Заранее благодарю вас!

, 👍0

Обсуждение

Это вопрос о C++, а не об Arduino. Проблема в том, что вы скопировали фрагменты кода откуда-то(https://diyprojects.io/esp32-store-temporary-data-rtc-memory-deep-sleep), не понимая, что он делает. Ошибка, на которую вы ссылаетесь, вызвана тем фактом, что вы используете " тип "(тип "структуры", который вы объявили как "Записи"), как если бы это была переменная, Вы не можете этого сделать. Вместо этого вы должны использовать Logs [], который определен в вашем коде как массив типа "Records`". Есть и другие проблемы, такие как выходной код CSV,которые я оставлю вам для устранения неполадок., @StarCat

и исправьте это indentation.to смотрите, чтобы у вас было два"} "перед " else", @Juraj

Спасибо @StarCat, что ваши предложения помогли. Когда я работал над Arduino IDE, я думал, что это связано с Arduino. И нет, я не копировал-вставил код откуда-то. Огромное спасибо!!, @P_K