Hallo Johannes,

wird doch langsam.
Probiers mal mit deinem ersten Code Beispiel.
Ich weiß nicht ob der PreProzessor das hier
Code:
#define USART_BAUD_SELECT    (F_CPU/(USART_BAUD_RATE*16l)-1)
korrekt ausrechnet.
Oder probier mal:
Code:
#define USART_BAUD_SELECT    ((F_CPU/(USART_BAUD_RATE*16l))-1)
Der Preprozessor kennt nämlich keine Rechenregeln wie Punkt vor Strich o.ä.

Gruß m.a.r.v.i.n