Hirdetés

Új hozzászólás Aktív témák

  • Tomika86

    senior tag

    válasz And #15496 üzenetére

    Most egyenlőre mással küzdök, nem jövök rá miért nem működik ez:

    // Soros portról olvasás képernyőszámhoz
    if (Serial.available()) 
      {
        String indata = Serial.readStringUntil('#');  
          // Ha "page0" string érkezik    
          if (indata.indexOf("page0") > -1) {
          kepernyo_szam = 0;
          }         
          // Ha "page1" string érkezik    
          else if(indata.indexOf("page1") > -1) {
          kepernyo_szam = 1;    
          }

    // Ha "reset" string érkezik
    // Üzemóra törlése 
          else if (indata.indexOf("reset") > -1)
    {
          Uzemora_perc = 0;
          Uzemora_ora = 0;
          EEPROM_writeLong(EEPROM_cim_ora, Uzemora_ora);
          EEPROM_writeInt(EEPROM_cim_perc, Uzemora_perc);  
          }            
    // Soros portról olvasás értékek beállításához
    // Ha "feszmin" string érkezik
       else if (indata.indexOf("feszmin") > -1)
    {
          byte position1 = indata.indexOf("feszmin");
          feszmin = indata.substring(0, position1);
          alacsony_akkufesz_ertek = feszmin.toFloat();
          EEPROM_writeFloat(EEPROM_cim_akkufeszmin, alacsony_akkufesz_ertek);
          }
      } 
    if (kepernyo_szam == 0)
      {  
          // Fordulatszám kijelzés    
          Serial.print(fordulatszam);  
      }            
    if (kepernyo_szam == 1)
          {
          // Üzemóra óra kiírása
          Serial.print(Uzemora_perc);
          // Üzemóra perc kiírása
          Serial.print(Uzemora_ora);
          }   
    }

    Igazából simulátorban működik, de a kijelzőn nem.
    Nextion editorban, ha átváltok a page1 képernyőre akkor print "page1#" parancsot küld, page0 esetén print "page0#"
    de a kepernyo_szam valtozo 0 értéken marad.
    Az üzemóra nullázás se működik.
    Most itt kiszedtem a felesleget, de az elvet rontom el gondolom.

    Ha kiszedem a képernyő szám feltételt akkor működik, de feleslegesen nem akarok adatot küldeni a kijelzőre, csak azokat ami azon a képernyőn van.

    Köszönöm a segítséget!

Új hozzászólás Aktív témák