Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte in Flashspeicher schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Werte in Flashspeicher schreiben

    Hallo,

    bin gerade dabei meine Wetterdaten auf meiner Wetterseite des Eib-PC einzuarbeiten!
    Würde jetzt gerne die min. und max. Temperatur des Jahres in den Flashspeicher schreiben, um nicht nach jedem Neustart die Werte zu verlieren!

    Code:
    // Maximale und Minimale Temperatur eines Jahres berechnen
    MaxTempJahr=-99.0
    MinTempJahr=99.0
    if month(01,01) and !month(02,01) and htime(00,00,01) then { 
        MaxTempJahr=AussenTemperatur;
        MinTempJahr=AussenTemperatur;
    } endif
    if MaxTempJahr<AussenTemperatur then MaxTempJahr=AussenTemperatur endif
    if MinTempJahr>AussenTemperatur then MinTempJahr=AussenTemperatur endif
    Wie kann ich jetzt die min und max Temp in den Flashspeicher schreiben und nach jedem Init wieder einlesen??
    MfG MrKnx

    #2
    Würde es so funktionieren?
    Code:
    if after(systemstart(),6000u64) then readflash(MinTempJahr,WetterStartID0); readflash(MaxTempJahr,WetterStartID1) endif
    WetterStartID0 = 0u16
    WetterStartID1 = 1u16
    
    // Maximale und Minimale Temperatur eines Jahres berechnen
    MaxTempJahr=-99.0
    MinTempJahr=99.0
    if month(01,01) and !month(02,01) and htime(00,00,01) then { 
        MaxTempJahr=AussenTemperatur;
        MinTempJahr=AussenTemperatur;
    } endif
    if MaxTempJahr<AussenTemperatur then MaxTempJahr=AussenTemperatur; writeflash(MaxTempJahr,WetterStartID1) endif
    if MinTempJahr>AussenTemperatur then MinTempJahr=AussenTemperatur; writeflash(MinTempJahr,WetterStartID0) endif
    MfG MrKnx

    Kommentar


      #3
      Nein funktioniert leider nicht! Niemand einen Tipp für mich???
      MfG MrKnx

      Kommentar


        #4
        Zitat von MrKNX Beitrag anzeigen
        Nein funktioniert leider nicht! Niemand einen Tipp für mich???
        An welcher Stelle funktioniert was nicht.
        Schau mal in den EnertexFlash.lib. Da befindet sich damit ein komplexeres Beispiel oder "hilf uns mal beim Helfen".
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Zitat von enertegus Beitrag anzeigen
          An welcher Stelle funktioniert was nicht.
          Wenn ich mein Programm neu kompiliere und aufspiele, sind meine vorherigen Wetterdaten pfutsch!
          Code ist wie im oberen Post!
          Zitat von enertegus Beitrag anzeigen
          Schau mal in den EnertexFlash.lib. Da befindet sich damit ein komplexeres Beispiel oder "hilf uns mal beim Helfen".
          Muss mal schauen ob ich damit was anfangen kann!
          MfG MrKnx

          Kommentar


            #6
            Guckst Du hier nach Remanentspeicher...

            Gruß,
            Bernd

            Kommentar


              #7
              Zitat von MrKNX Beitrag anzeigen
              Nein funktioniert leider nicht! Niemand einen Tipp für mich???
              Mal überlegen:

              Bei Systemstart wird sofort Min=99.0 und Max=-99.0 gesetzt. Der Außentemperaturwert ist zunächst undefiniert und intern solange gleich 0.0 bis ein Wert empfangen wird. Spätestens dann werden die beiden letzten bedingten Anweisungen ausgeführt denn jeder in unseren Breiten je aufgetretene Wert dürfte größer -90.0 und kleiner 90.0 sein. Und so wird eben dieser Wert ins Flash geschrieben...
              ... und 6s nach Systemstart von dort wieder als Initialwerte gelesen!

              Falls das tatsächlich das Problem ist, sollte der Code allerdings funktionieren, wenn in den ersten 6s nach Systemstart kein Temperaturwert empfangen wird...

              Daher würde mich auch mal interessieren, wie oft denn dieser Wert gesendet wird und ob der EibPC diesen bei Systemstart eventuell aktiv abfragt, denn dann käme die Botschaft wohl ziemlich sicher innerhalb der ersten 6s.
              Tessi

              Kommentar


                #8
                Zitat von bmx Beitrag anzeigen
                Guckst Du hier nach Remanentspeicher...

                Gruß,
                Bernd
                OK das ganze scheint mir echt ein bisschen zu hoch für mein Verständnis!!!
                Ich dachte, es wäre mit meinem einfachen Code getan, dem scheint leider nicht so!!!
                MfG MrKnx

                Kommentar

                Lädt...
                X