bonjours a tous
materiel:
esp32 devkit 1 + eeprom at24c256 + ecran nextion 10 pouce
voila que je galere depuis + 1 mois a faire varier ma variable /temps2/ dans mon eeprom 24c256
j ai beau a regarder les forums et google
rien n y fait
j arrive a incrementer ma variable “number_settemp_tempjour”, au reboot de mon esp32, la derniere variable est bien enregister dans mon eeprom et lus
sauf que quand je l incremente, il repart sur ma variable number_settemp_tempjour et non sur temps2
si quelqu un peut m indiquer comment incrementer ma derniere valeur lus dans l epprom qui s appel temps2
merci beaucoup au forum Arduino
voici mon code
#include <Nextion.h>
#include "Wire.h"
#include <AT24CX.h>
AT24CX mem;
NexText settemp_tempjour = NexText(0, 1, "t0");
NexButton settemp_add = NexButton(0, 2, "b0");
NexButton settemp_dec = NexButton(0, 3, "b1");
char temps[10] = {0};
char temps2[10] = {0};
int8_t settemp_up = -1;
int8_t number_settemp_tempjour = 25;
NexTouch *nex_listen_list[] =
{
&settemp_tempjour,
&settemp_add,
&settemp_dec,
NULL
};
void tempDECPopCallback(void *ptr)
{
settemp_up = 0;
setTemp();
}
void setTemp(void)
{
if (settemp_up == 0)
{
number_settemp_tempjour--;
if (number_settemp_tempjour < 15)
{
number_settemp_tempjour = 30;
}
memset(temps, 0, sizeof(temps));
itoa(number_settemp_tempjour, temps, 10);
mem.writeChars(02, temps, sizeof(temps));
mem.readChars(02, temps2, sizeof(temps2));
settemp_tempjour.setText(temps2);
}
}
void setup(void)
{
nexInit();
Serial.begin(115200);
Wire.begin();
mem.readChars(02, temps2, sizeof(temps2));
settemp_tempjour.setText(temps2);
//TEMP
settemp_dec.attachPop(tempDECPopCallback);
}
void loop(void)
{
nexLoop(nex_listen_list);
}
test_essai_avec_mem_test2.ino (1.17 KB)