Hallo, ich habe UART Zeichensalat beim empfangen der Zeichen am PC:

Mein Programm:

Code:
// AVR-Includes
#include <avr/io.h>

#ifndef F_CPU
/* In neueren Version der WinAVR/Mfile Makefile-Vorlage kann
   F_CPU im Makefile definiert werden, eine nochmalige Definition
   hier wuerde zu einer Compilerwarnung fuehren. Daher "Schutz" durch
   #ifndef/#endif 
 
   Dieser "Schutz" kann zu Debugsessions führen, wenn AVRStudio 
   verwendet wird und dort eine andere, nicht zur Hardware passende 
   Taktrate eingestellt ist: Dann wird die folgende Definition 
   nicht verwendet, sondern stattdessen der Defaultwert (8 MHz?) 
   von AVRStudio */
 
 #define F_CPU 16000000L    // Systemtakt in Hz, das L am Ende ist wichtig, NICHT UL verwenden!
#endif
 
#define BAUD 9600L          // Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!
 
// Berechnungen
#define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1)   // clever runden
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1)))     // Reale Baudrate
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) // Fehler in Promille 
 
#if ((BAUD_ERROR>10) || (BAUD_ERROR<-10))
  #error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch! 
#endif
 

// Funktionen
//  -=> UART initialisieren <=-
void UART_init(void){ 
   
   // wichtig: UBRRH _vor_ UBRRL
   UBRRH = BAUD_REAL >> 8;
   UBRRL = BAUD_REAL & 0xFF;
   
   UCSRB = (1<<RXEN)|(1<<TXEN);  						// aktiviere Empfänger und Sender
   
   UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
   //UCSRC |= (1<<URSEL)|(3<<UCSZ0); 		// 8 Bits, 1 Stopbit?
   
}

//  -=> Byte Transmit <=-
void UART_transmit(uint8_t c){
   while(!(UCSRA & (1<<UDRE))); // Warte auf leeren Übertragungspuffer (UDRE = USART Data Register Empty flag)
   UDR = c;
}

//  -=> String Transmit <=-
void UART_transmit_string(uint8_t *string){
    while(!(UCSRA & (1<<UDRE)));
   while( *string){ UART_transmit (*string++); }
}



int main (void)
{


UART_init();  // UART-Init Funktion ausführen

UART_transmit_string("Hurra, es funktioniert!!!");


while(1){

	
	

}
}
Meine Fusebits (laut Ponyprog):

http://palmavr.sourceforge.net/cgi-b...pply+fuse+bits

Was muss ich nun einstellen? Blicke noch nicht so richtig durch mit den FUSE-Bits des ATMega32 und dem F_CPU Takt.