Ich habe ein Problem mit mein EEPROM. Ich schreibe ein Byte wie unterstehend im EEPROM:



sbic EECR, EEWE ;EEWE is zero when previous write cycle is finished
rjmp Eeprom_wait ;If not completed yet, then try again
cli ;Disable interrupts
ldi r18, 0 ;Set the address in the EEPROM to start writing
out EEARH, r18 ;Address in EEPROM, upper part, page (max 1)
ldi r17, 0 ;Set the address in the EEPROM to start writing
out EEARL, r17 ;Address in EEPROM, lower part, byte (max 255)
ldi r16, 3 ;Default running program modus
out EEDR, r16 ;EEPROM data register
sbi EECR, EEMWE ;Prepare EEPROM to write to
sbi EECR, EEWE ;Write to EEPROM
sbic EECR, EEWE ;EEWE is zero when previous write cycle is finished
rjmp Eeprom_wait ;If not completed yet, then try again
sei ;Enable interrupts

Wenn Ich diese byte schreibe und anschliessend auslese erhalte Ich den richtigen Wert (3). Wenn Ich allerdings eine reset durchfuehre scheint diese Wert verschwunden, Ich erhalte 0xFF.

Also es scheint als wuerde mein EEPROM sich als SRAM benehmen. Hat jemanden ein Idee was die Urscahe sein koente???

Vielen Dank im voraus,

Richard Boekamp