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:
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
Und ein paar meiner Ergebnisse, wobei oft zwei verschiedene Bytes in unterschiedlichen Reihenfolgen empfangen werden:

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