Hallo, ich habe versucht den unteren Teil der noch für den 4433 geschrieben ist für den Mega 8 zu verwenden, hierzu habe ich die Uart Programmteile und die out Befehle ausgetauscht aber irgendwie komme ich da nicht weiter. Igendwas muss hinter High und Low stehen ? Wäre super wenn jemand mir Helfen könnte vielleicht wäre das auch gleichzeitig eine Verbesserung fürs Tutorial Speicher. Vielen Dank Gruß Jürgen .include "m8def.inc" .def temp = r16 .def address = r17 .def data = r18 .equ CLOCK = 4000000 .equ BAUD = 9600 .equ UBRRVAL = CLOCK/(BAUD*16)-1 ; Stackpointer initialisieren ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ; Baudrate einstellen ldi temp, LOW(UBRRVAL) out UBRRL, temp ldi temp, HIGH(UBRRVAL) out UBRRH, temp ; Frame-Format: 8 Bit ldi temp, (1<<URSEL)|(3<<UCSZ0) out UCSRC, temp sbi UCSRB,TXEN ; TX aktivieren ldi address, text1 ; ersten String senden rcall eep_print ldi address, text2 ; zweiten String senden rcall eep_print ldi data, 10 ; die Bytes 10 und 13 senden rcall sendbyte ; (Zeilenumbruch im Terminal) ldi data, 13 rcall sendbyte loop: rjmp loop eep_print: ; out EEAR, address ; EEPROM-Adresse ldi address, HIGH ; Adresse laden out EEARH, address ldi address, LOW out EEARL, address sbi EECR, EERE ; Lesevorgang starten in data, EEDR ; gelesenes Byte nach "data" tst data ; auf 0 (Stringende testen) breq eep_print_end ; falls 0, Funktion beenden rcall sendbyte ; ansonsten Byte senden... inc address ; ... Adresse um 1 erhöhen... rjmp eep_print ; ... und zum Anfang der Funktion eep_print_end: ret ; sendbyte: sendet das Byte aus "data" über das UART sendbyte: sbis UCSRA, UDRE ; warten bis das UART bereit ist rjmp sendbyte out UDR, data ret .eseg text1: .db "Strings funktionieren auch ", 0 text2: .db "im EEPROM", 0
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.