Hallo,

ich versuche grade eine Verbindung über die RS232 Schnittstelle ziwschen meinem ATMEGA8 und PC herzustellen. Also Windows-Empfangssoftware verwende ich HyperTerminal. Mein UART-Code (von mikrocontroller.net) sieht so aus:

Code:
#include <avr/io.h>

#define F_CPU 16000000L
#define BAUD 9600L
#define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1)
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000)

#if((BAUD_ERROR>10) || (BAUD_ERROR<-10))
	#error FEHLER! BAUD Rate fehlerhaft!!!
#endif

int main(void)
{

UCSRB|=(1<<TXEN);
UCSRC|=(1<<URSEL) | (3<<UCSZ0);

UBRRH=UBRR_VAL >>8;
UBRRL=UBRR_VAL & 0xFF;

while(1){
while(!(UCSRA & (1<<UDRE)))
{
}

UDR='x';
}
return 0;
}
Wenn ich das ganze laufen lasse, empfange ich über HyperTerminal lauter a Zeichen, es sollten aber lauter x Zeichen sein. Hab ich irgendwo einen Fehler gemacht?

Gruß
cesupa