hallo, kann mir bitte jemand sagen der Fehler in diesem Programm ist: .include "m88def.inc" ; hier geht die Programmsektion los .cseg ldi r16, low(RAMEND) ; Stackpointer initialisieren out SPL, r16 ldi r16, high(RAMEND) out SPH, r16 ldi r16, 0xFF out DDRB, r16 ; Port B Ausgang ldi ZL,low(daten) ; Z-Zeiger laden ldi ZH,high(daten) rcall EEPROM_read ; Daten aus EEPROM lesen out PORTB, r17 loop: rjmp loop EEPROM_read: sbic EECR,EEPE ; prüfe ob der vorherige Schreibzugriff ; beendet ist rjmp EEPROM_read ; nein, nochmal prüfen out EEARH, ZH ; Adresse laden out EEARL, ZL sbi EECR, EERE ; Lesevorgang aktivieren in r17, EEDR ; Daten in CPU Register kopieren ret ; Daten im EEPROM definieren .eseg daten: .db 0b01010101 ich kriege als Ergebnis : 0xff danke
Sieht soweit richtig aus. Also müsste es funktionieren. Hast du das EEPROM überhaupt beschrieben?
Hallo Wenn in ein EEPROM noch nie etwas reingeschrieben wurde, kommt immer 0xff. Programmier das EEPROM erstmal mit beliebigen Werten und schau dann, ob das auch gelesen wird. Gruß Joachim
Bei flashen des Mikrocontrollers wird das eeprom nicht mit beschriben. Das muss man extra machen.
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.