Hallo! Hab gerade mit einem 8515 das UART ausprobiert. Hab das Beispiel aus dem Tutorial rauskopiert und etwas umgeschrieben. Aber ich krieg im Hyperterminal immer nur TTTTTTTTTTTTTTT ... Also irgendwie werden die anderen Buchstaben nicht übertragen. Hier mein Programm: Wo könne der Fehler sein ?? .include "8515def.inc" ;ABGEÄNDERT .def temp = r16 ldi temp, RAMEND out SPL, temp sbi UCR,TXEN ;ABGEÄNDERT ldi temp,4000000/(9600*16)-1 ;Baudrate 9600 einstellen out UBRR,temp loop: ldi temp, 'T' rcall serout ;Unterprogramm aufrufen ldi temp, 'e' rcall serout ;Unterprogramm aufrufen ldi temp, 's' rcall serout ;Unterprogramm aufrufen ldi temp, 't' rcall serout ;Unterprogramm aufrufen ldi temp, '!' rcall serout ;Unterprogramm aufrufen ldi temp, 10 rcall serout ;Unterprogramm aufrufen ldi temp, 13 rcall serout ;Unterprogramm aufrufen rjmp loop ;zu loop springen serout: sbis USR,UDRE ; ABGEÄNDERT rjmp serout out UDR, temp ret ;zurück zum Hauptprogramm danke ANDY
Beim 8515 musst du den STACK-Pointer SPL und SPH initialisieren da dieser Baustein über mehr als 256 Byte SRAM verfügt. Also: ldi temp, high(RAMEND) out SPH, temp ldi temp, low(RAMEND) out SPL, temp
Hey super, jetzt funktionierts. Danke für deine schnelle Hilfe - da wär ich so schnell nicht drauf gekommen ... SUPER FORUM ;-)
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.