Т.е. запись 
while (UCSRA ^ (1 << UDRE));
должна быть тождественна записи
while ((UCSRA ^ (1 << UDRE)) > 0);