Hallo.

also so hab ichs gemacht: http://www.gruebler.at/index.php?id=126

schaus dir mal durch.
UBRRH = 0;
UBRRL = 103; schaut unschön aus. du berechnest eh oben mit einem #define den richtigen wert. und dann so einsetzten:

UBRRH = (uint8_t) (UBRR_BAUD>>;
UBRRL = (uint8_t) (UBRR_BAUD & 0x0ff);
--------------
while (!(UCSRA & (1<<UDRE))) {
}
solltest du zu
while (!(UCSRA & (1<<UDRE))) {
;
}
tauschen da GCC sonst die schleife wegoptimiert.

lg
Thomas