Also ich habe jetzt das hier aus deinem Link geklaut.
Code:
#include <avr/io.h>
#define F_CPU 8000000     
#define BAUD_RATE 9600 
#define F_OSC 3686400           /* Oszillator-Frequenz in Hz */
#define UART_BAUD_RATE 9600
#define UART_BAUD_CALC(UART_BAUD_RATE,F_OSC) ((F_OSC)/((UART_BAUD_RATE)*16)-1)

int main (void)
{
UCSRB=0x04; 
UBRRH=(uint8_t)(UART_BAUD_CALC(UART_BAUD_RATE,F_OSC)>>8);
UBRRL=(uint8_t)UART_BAUD_CALC(UART_BAUD_RATE,F_OSC);
while (!(UCSRA & (1<<UDRE)));                
UDR = 'x';

}
das sind die Fehler:
UART2.c:10: warning: integer overflow in expression
UART2.c:11: warning: integer overflow in expression

Ich habe kein Plan, wieso da stag overflow stattfindet.
UBRRH=(uint8_t)(UART_BAUD_CALC(UART_BAUD_RATE,F_OS C)>>;
Ich weiß auch nich so recht was da gemacht wird.