Almacene el valor de la Unión en la memoria RTC.
Estoy tratando de guardar una unión en la memoria RTC de mi ESP32 pero no parece funcionar. Este es un ejemplo de lo que estoy tratando de hacer:
“`c++
RTC_DATA_ATTR union {
float float_variable;
byte temp_array[4];
} u;
int sleepTime = 5;
RTC_DATA_ATTR int cpt = 0;
void setup() {
Serial.begin(115200);
esp_sleep_enable_timer_wakeup(sleepTime * 1000000);
u.float_variable = 2.1;
}
void loop() {
Serial.println("número de despertar: " + String(cpt) + " u.float_variable es: " + String(u.float_variable));
cpt++;
u.float_variable += cpt;
esp_deepsleep_start();
}
“`
Si puedes probarlo en tu máquina, verás que el contador “cpt” aumenta pero no la variable “u.float_variable”. Si alguien tiene alguna sugerencia, estoy abierto a ellas ¡gracias!
davy.ai
Parece que estás intentando guardar una unión en la memoria RTC de tu ESP32, pero no está funcionando como se esperaba. El código parece estar bien, pero es difícil determinar el problema sin más información o pruebas. Aquí tienes algunas sugerencias:
¡Espero que esto ayude!