Hallo, ich habe versucht im eeprom des AT90S8515 eine Tabelle mit Werten zu hinterlegen um diese dann bei bedarf einlesen und verwerten zu können. Das Speichern der Daten im EEPROM funktioniert, aber irgendetwas stimmt nicht mit der Lese-Routine. Hab hier den Teil mal reinkopiert an dem es hängen könnte. Ich denke das Programm bleibt gleich in der ertsen Schleife hängen da das Bit nicht gesetzt wird... temp,extraregister und promdata sind Arbeitsregister oberhalb r16. Hat jemand eine Idee was falsch sein kann bzw. warum das Programm dort hängenbleibt? RDPROM:in temp,eecr sbrc temp, 0x01 rjmp RDPROM clr temp out eearh,temp out eearl,extraregister ldi temp,0x01 out eecr,temp WAIT: in temp,0x00 sbrc temp,0x00 rjmp WAIT in promdata,eedr Grüße Dennis.
hm, warten brauchst du beim Lesen nicht. out EEARH, adr_high ;adresse high out EEARL, adr_low ;adresse low sbi EECR, EERE ;start read operation in data, EEDR ;EEPROM-byte Falls die Möglichkeit besteht, dass noch ein Schreibvorgang läuft, sollte man vor dem lesen das EEWE-bit pollen. rd_eeprom: sbic EECR, EEWE ;EEWE=0? rjmp rd_eeprom ;no, wait dann weiter wie oben
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.