// baud=7=115.2K with an external 14.7456MHz crystal
// baud=9=115.2K with an external 18.4320MHz crystal
unsigned int baud=9;
UBRR0H=(unsigned char) (baud >>8);
UBRR0L=(unsigned char) (baud & 0xFF);
и подумал "а вдруг это компилятор не умеет считать ?"