-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Edit: Wie Wert in EEPROM speichern?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85

    Edit: Wie Wert in EEPROM speichern?

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen,

    ist es mit Bascom möglich, eine einzelne Zeile eines Displays zu löschen? Oder kann immer nur das ganze Display mit Cls gelöscht werden?

    MfG,
    Maxxtro

    Edit: Titel geändert!

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    Hallo Maxxtro,

    zu erst wäre schön zu wissen was Du für ein LCD hast: alphanumerisch oder Grafik?
    Aber im Grunde genommen kannst Du keine einzelne Zeile löschen. Du musst diese mit Lehrzeichen überschreiben oder du sendest einfach einen neuen Text, der den alten überschreibt.
    Lehrzeichen:
    locate 1 , 2
    lcd "-hier die Anzahl der Lehrzeichen-" => einfach mit der Tabtaste die Anzahl

    Neuer Text:
    Locate 1 , 2
    lcd "____123___"

    Hoffe geholfen zu haben!
    Gruß MAT

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    Hab kein Grafikdisplay....

    Naja, danke! Du hast mir sehr geholfen! Einfach überschreiben - wäre ja so einfach gewesen
    Trotzdem vielen Danke für Deine schnelle Hilfe!

    MfG,
    Maxxtro

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    So, eine neue Frage

    Ich messe mit meinem Mega32 einige Daten und schreibe diese in eine normale Variable um sie am Display ausgeben zu können.

    Nun möchte ich die jeweiligen Höchstwerte dauerhaft speichern können - nur wie?

    >Dim X As Eram Byte
    >X = ....

    Habe ich schon verstanden, jedoch ist das wohl nur die halbe Wahrheit, da ich in meinem Programm vorher wohl mindestens die Anweisungen "$eeprom" und "$data" brauche.
    Ist das alles oder muss ich z.B. vor jdem schreiben noch eine spezielle Anweisung geben?

    MfG,
    Maxxtro

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    $eeprom und $data brauchst du nur, wenn dir die Werte schon vorher bekannt sind und die schon beim Programmieren drin liegen sollen.

    Ansonsten reicht die Zuweisung an ne ERAM-Variable.
    Und ich glaub, dass man Werte nur kopieren kann, also nicht direkt zuweisen.
    D.h. ist X eine ERAM-Variable, Y ne normale im RAM, dürfte X = a + b nicht gehen. Zuerst Y = a + b, danach X = Y müsste dann klappen.
    #ifndef MfG
    #define MfG

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    Ah gut, vielen Danke auch Dir!

    MfG,
    Maxxtro

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    hab mir nun gedacht dass ich mit folgendem kurzen Code

    Code:
    Dim H As Eram Byte
    
     If T > H Then
     H = T
     End If
    Ganz einfach einen evtl. Höchstwert in den EEPROM schreibe - denkste! Da meckert Bascom dann "Numeric parameter expected [H]"

    Wie kann ich dieses Problem nun umgehen? #

    MfG

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Versuchs mal damit:
    Code:
    Dim A as Byte
    Dim B as Byte
    
    If A > B then Writeeeprom B
    Oder alternativ:
    Code:
    Dim A as Byte
    Dim B as Byte
    Dim Flag as Bit
    
    If A > B then Set Flag
    If Flag = 1 then
         Writeeeprom B
         Reset Flag
    End If
    Grüße
    Thomas

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    Also, sieht bei mir jetzt so aus:
    Code:
    $eeprom
    
    Dim H As Byte
    
    If T > H Then
      H = T
      Writeeeprom H
      End If
    
      Locate 4 , 1
      Lcd H
    Wobei "H" der Höchstwert und "T" die aktuelle Temperatur sind.
    Allerdings speichert der Mega32 die Werte so nicht, nach jedem neuen Einschalten ist "H" = 0...

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.11.2008
    Ort
    Kapfenberg
    Beiträge
    628
    Sorry, war wohl mein Fehler.

    Code:
    Dim A as Byte
    Dim B as Byte
    Dim Flag as Bit
    
    If A > B then Set Flag
    If Flag = 1 then
         B = A
         Writeeeprom B
         Reset Flag
    End If

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •