Hier mal meine Funktionen - aber man kann ja eigentlich nicht viel falsch machen ...
;-------------------------------------------------------------------- ; EEPROM_WRITE in Z Adresse von Bereich, in R0 byte ;-------------------------------------------------------------------- EEPROM_Write: cli sbic EECR,EEWE ; Warten bis EEWE Lo ist rjmp EEPROM_Write out EEARL,zl out EEARH,zh ; Adresse in Register schreiben out EEDR,r0 ; Daten rausschicken sbi EECR,EEMWE ; Master Write-Bit schreiben sbi EECR,EEWE ; Write-Enable setzen EEPROM_Write_1: sbic EECR,EEWE ; Schon fertig? rjmp EEPROM_Write_1 ; Nein: Weiterwarten sei ret ;-------------------------------------------------------------------- ; EEPROM_READ in Z Adresse von Bereich, in R0 byte ;-------------------------------------------------------------------- EEPROM_READ: cli out EEARL,zl out EEARH,zh ; Adresse in Register schreiben sbi EECR,EERE ; Read-Enable setzen cbi EECR,EERE in r0,EEDR ; Data in R0 einlesen sei ret