Forum: Mikrocontroller und Digitale Elektronik eeprom Speicher


von Dennis (Gast)


Lesenswert?

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.

von crazy horse (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.