Цитата(ViKo @ Dec 1 2014, 11:47)

UART не смотрит на то, что ему передали на выдачу. Ему важен сам процесс записи в него (в регистр DR). И тогда он не пуст.
Факт остается фактом, при записи :
while (!(MACHINES->SR & USART_FLAG_TXE))
os_dly_wait(1);
MACHINES->DR = (ch & 0x01FF);
return(ch);
0x00 в принятой посылке нуля нету ? Загадка не правда ли ?