zustände speichern ATMega

OP #989141
Hallo!

Ich wollte mal fragen ob von euch jemand weiss, ob ich Zustände im 
ATMega8 speichern kann. Konkret sieht es so aus, dass ich eine 
On-Board-Diagnose programmiere und im Fehlerfall eine LED geschaltet 
wird. Diese soll erst durch Quittieren gelöscht werden. Kann ich das 
speichern auch wenn zwischenzeitlich die Spannungsversorgung 
abgeschaltet wird?

MfG
Gast #989149
Das geht. Dazu musst Du dann den EEPROM Speicherbereich nehmen. Dieser 
ist nicht-flüchtig. Im Tutorial wirst Du für Assembler und "C" fündig.
Gast #989255
Ich habe die Erfahrung gemacht, dass die Werte in den registern 16-32 
auch nach Wegnahme der Versorgungsspannung erhalten bleiben. Ob das 
immer so ist, weiß ich aber nicht. Falls dies immer so ist, kannst du 
quasi ein Register immer mit dem Zustand der LED belegen und es per 
Schleife auslesen.


; Schleife
led:
out PORTB, r16
rjmp led

; Wenn lED an
ldi r16, 0b00000001  <- LED1 ein

;Wenn LED aus
ldi r16, 0b00000000

Vielleicht auch von einem Timer immer das Register an PORTB (oder einen 
andeen) kopieren lassen, vllt. 10 mal pro Sekunde oder o.

mfg

pepper

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.