Hallo,
habe einen µC (AVR AT90S8535) und möchte damit Daten an meinen PC über die Serielle senden.
Habe mir also erstmal ein ganz einfaches Programm geschrieben, in dem ich ein Byte andauernd sende. Allerdings kommt am PC nicht das an, was ich eigentlich sende.
Hier der Code:
Und ein paar meiner Ergebnisse, wobei oft zwei verschiedene Bytes in unterschiedlichen Reihenfolgen empfangen werden:Code:.INCLUDE "D:\Programme\AVR Studio\Appnotes\8535def.inc" .DEF temp = R16 .DEF data = R17 .EQU clock = 8000000 .EQU baud = 2400 .EQU ubrrval = clock/(baud*16)-1 reset: ;Stackpointer initialisieren ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ;LED konfiguration ldi temp, 0x04 out DDRA, temp ldi temp, 0x00 out PORTA, temp ;Baudrate einstellen ldi temp, ubrrval out UBRR, temp ;Uart RX und RXInt aktivieren sbi UCR, TXEN ldi data, 0x1C loop: sbis USR, UDRE ;überspringe wenn bereit rjmp loop out UDR, data rjmp loop
Register im Programm -> Empfangen am PC
0F -> C8 oder D8
0E -> 88 oder 98
0D -> 48 oder 58
0C -> 08 oder 18
1F -> E4 oder F4
1E -> 44
1D -> A4 oder B4
1C -> 84
Kann auch noch weitere Ergebnisse ermitteln, wenn es helfen würde.
Hat vielleicht jemand eine Idee? Könnte das an der Hardware, Software oder an der Konfiguration liegen?
Danke im Voraus,
eXe







Zitieren

Lesezeichen