Hi,

du brauchst es gar nicht so kompiliziert zu machen:

Code:
 #include <avr/io.h>
#define F_CPU 3686400L    /* Oszillator-Frequenz in Hz */
#define BAUD_RATE 9600L
#define UART_BAUD_RATE 9600
#define UART_BAUD      ((F_CPU)/((UART_BAUD_RATE)*16L)-1)

int main (void)
{
UCSRB=0x04;
UBRRH=(uint8_t) (UART_BAUD>>8);
UBRRL=(uint8_t) (UART_BAUD & 0x00ff);
while (!(UCSRA & (1<<UDRE)));               
     UDR = 'x';
}
F_CPU wird übrigens seit dem neusten WinAVR Release im Makefile definiert. Dann braucht man es nicht mehr im Hauptprogramm zu tun...

MfG Kjion