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
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?
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ß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.