Ich habe jetzt eine Routine geschrieben die mir die benötigten Daten ins EEprom schreiben soll. Leider wird das Bit EEPE im EECR-Register nicht zurückgesetzt, so daß nur der erste Wert eingeschrieben wird. Alles andere nicht.
ee_program:
ldi ZL, Low (ee_daten*2)
ldi ZH, high(ee_daten*2)
ldi temp2, Low(EE_BASE)
ee_loop:
lpm temp, Z+
cpi temp, 0xFF
breq ee_end
out EEAR, temp2
out EEDR, temp
sbi EECR, EEMPE
sbi EECR, EEPE
inc temp2
rjmp ee_loop
ee_end:
nop
nop
nop
nop
ee_daten: .db 0,2,0, 0,2,4,0xFF,0
Lesezeichen