Hallo, ich möchte 3 Werte einer Tabelle ins EEPROM schreiben und mit der Laufzeit die Werte in 3 Register einlesen; danach soll der nächste Wert ausgelesen werden. Kann mir bitte jemand helfen, ich komme einfach nicht weiter... Controller ATMEGA32, Assembler Die Register R16,R17,R18 Tabelle: .db 12,8,4 .db 7,3,2 ... Diese Tabelle soll ins EEPROM vom Atmega32 geschrieben werden, die Tabelle wird später 1024 Spalten mit jeweils 3 Werten enthalten. Es soll dann der per Laufzeit der erste Wert ausgelesen werden: R16=12, R17=8, R18=4 Dann beim nächsten Aufruf soll der nächste Wert eingelesen werden R16=7, R17=3, R18=2 usw.. Wenn die Tabelle am Ende ist, soll wieder zum Anfang gesprungen werden. Ich weiß für viele klingts sehr einfach, um Codeschnipsel bin ich jetzt schon sehr dankbar... Gruß Zodiax
Gast
#1103431
Das wir Dir nicht gelingen! Der ATMega32 hat nur 1KByte EEProm! und nicht 3K.
Jens wrote: > Das wir Dir nicht gelingen! > > Der ATMega32 hat nur 1KByte EEProm! und nicht 3K. ok, dann muß ich die Tabelle kleiner machen. Bleibt die Frage: wie lese ich die Werte nun in die Register?
Gast
#1103452
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Speicher siehe unter EEProm lesen/schreiben.
Hi, die Frage ist eher, was soll das im EEPROM ? Schreibs ins Flash und gut ist. Oder soll an der Tabelle zur Laufzeit Werte geändert werden ? Ansonsten so: ldi ZL, LOW(Tab*2) ldi ZH, HIGH(Tab*2) lpm r16, Z+ lpm r17, Z+ lpm r18, Z+ //tu was mit deinen Daten und falls Ende erreicht wieder Z auf Anfang setzen //usw..... Tab: .db 0x01, 0x02, 0x03 GRUß
...vielen Dank Euch beiden! super.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.