Start a new topic

Help me please Nexloop

Buona sera e scusate il disturbo.

I avrei fatto un programmino però ho problemi.

Questo è un pezzo del file.ino di arduino, non volevo appesentire il sito.

Se utilizzo tutto il codice non mi funzionano i bottoni; se invece commento la parte Calendario() in void loop(void) i bottoni funzionano.


Guardando la seriale si nota che quando utilizzo tutto il codice:


recvRetCommandFinished ok
recvRetCommandFinished err -> pressione del bottone
ecc ecc


Mentre se commento Calendario() si vede passare:


recvRetCommandFinished ok
[1185:1,29,b0]                          -> pressione del bottone giusto
recvRetCommandFinished ok


Perchè solo se commento Calendrio(), che fa solo il riembimento delle variabili in Nextion è funziona tutto all'infuori del bottone b0, mi funziona la pressione dei tasti e nell'altro caso mi da err alla pressione?


Scusate se non scrivo in inglese, ma non vorrei scrivere eresie non conoscendo bene l'inglese.

void b2PopCallback(void *ptr)
{
  pgCalendario.show();
}

void bsetPopCallback(void *ptr)
{
  pgSetData.show();
  n0.setValue(datario.ora);
  n1.setValue(datario.minuti);
  n2.setValue(datario.giorno);
  n3.setValue(datario.mese);
  n4.setValue((int)datario.anno/100);
  n5.setValue(datario.anno-(((int)datario.anno/100))*100);
}

void setup() {
....................
  bset.attachPop(bsetPopCallback, &bset);
  b2.attachPop(b2PopCallback, &b2);
  memset(myStr, 0, sizeof(myStr)); 
}
 
void Calendario()
 {
    memset(myStr, 0, sizeof(myStr));
    MI.setValue(datario.minuti);
    HH.setValue(datario.ora);

    AAAA.setValue(datario.anno);
    MM.setValue(datario.mese);
    GG.setValue(datario.giorno);
    GGG.setText(dayNames[datario.g_setti]);

    sprintf(myStr,  "%s°C", floatToString(myStr, Temperatura_Ambiente(), 1));
    TC.setText(myStr);
    sprintf(myStr,  "%s°C", floatToString(myStr, Temperatura_Acquario(), 1));
    TA.setText(myStr);
    sprintf(myStr,  "%s %%", floatToString(myStr, Umidita_Ambiente(), 1));
    Hu.setText(myStr);
    sprintf(myStr,  "%s %%", floatToString(myStr, Leggi_pH(), 1));
    pH.setText(myStr);

    LeggiRele();
    imgOUT1.setPic((bitRead(Rele, 0))?6:(bitRead(ProgRele, 0))?7:8);
    imgOUT2.setPic((bitRead(Rele, 1))?6:(bitRead(ProgRele, 1))?7:8);
    imgOUT3.setPic((bitRead(Rele, 2))?6:(bitRead(ProgRele, 2))?7:8);
    imgOUT4.setPic((bitRead(Rele, 3))?6:(bitRead(ProgRele, 3))?7:8);
    imgOUT5.setPic((bitRead(Rele, 4))?6:(bitRead(ProgRele, 4))?7:8);
    imgOUT6.setPic((bitRead(Rele, 5))?6:(bitRead(ProgRele, 5))?7:8);
    imgOUT7.setPic((bitRead(Rele, 6))?6:(bitRead(ProgRele, 6))?7:8);
    imgOUT8.setPic((bitRead(Rele, 7))?6:(bitRead(ProgRele, 7))?7:8);
    lunario();
    imgMoon.setPic(moonphase()+8);
    memset(myStr, 0, sizeof(myStr));
 }
 
 void loop(void)
 {
  nexLoop(nex_listen_list);
  leggi_datario();
  LeggiTasti();
  Calendario();
 }

 

 

1 Comment

It's already a challenge to get answers to questions in English, so I think it will be even more difficult if you ask in Italian :-)

Login or Signup to post a comment