Versuche gerade über die UART zu senden, mit Mega48 aber irgenwei kommt
da nur folgendes raus:
½åëW5<25><23>½åëW5<25><23>½åëW5<25><23>½åëW5<25><23>
Als HEX:
BD E5 EB 57 35 19 17 BD E5 EB 57 35 19 17 BD E5 EB 57 35 19 17 BD E5 EB
57 35 19 17
Quarz ist 20Mhz, CHKDIV/8 ist aus.
Habe jezt noch versucht das Frameformat explizit zu setzen mit:
; UCSR0C Standard = Parity: none, Stopbit: 1, Frame-Format: 8 Bit
ldi temp, (1<<UCSZ01) | (1<<UCSZ02)
sts UCSR0C, temp
Außerdem den ganze PortD als Ausgang
ldi temp, 0xFF
out DDRD, temp
Leider immer noch keine Besserung :-\
Moin moin.
Der PC empfängt offensichtlich deutlich mehr Zeichen als Du sendest. Das
deutet auf eine zu geringe Baudrate beim AVR hin. Kann es sein, dass das
Teil nicht mit dem externen Quarz läuft, sondern mit 8 MHz intern?
Dein nachgebesserter Code scheint mir auch noch eine Macke zu haben:
UCSZ02 steckt in UCSR0B, und UCSZ01/00 in UCSR0C.
Gruß, Reiner.
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.