Hi,
@michael: Du bekommst bei Deiner Funktion mindestens ein Warning des Compilers weil Du einen int aus einer void Funktion zurück gibst.
aber spätestens dann wird man es umändern!
Stimmt mit der Baudrate hab ich gar nicht darauf geachtet!!

Des müsste dann doch so heißen oder?:
Code:
#define F_CPU            16000000     
#define UART_BAUD_RATE      9600    
#define UART_BAUD_SELECT (uint)(F_CPU/(UART_BAUD_RATE*16l)-1)
und
Code:
UBRRH = UART_BAUD_SELECT >> 8;	 
UBRRL = UART_BAUD_SELECT;
Gruß Michi