Работаю c UART'ом.. на lpc2378 на максимальной скорости и чего-то с временами не то...
Частота UART'а = 4500000, т.е. по идее это 2.2 мкс на передачу одного байта
Сделал тест. С одной стороны
Код
for(;;)
{ t0 = T1TC;
while (!(U3LSR & 0x20));
U3THR = v;
while (!(U3LSR & 0x01));
a = U3RBR;
dt = T1TC - t0;
}
с другой стороны - тупое эхо. Меряю время - получается 7 микросекунд, вместо 2.2 *2
если же выдавать не по одному байту, то измеренное время в расчете на байт уменьшается, приближаясь к рачетному.
FIFO вроде бы тут никак не должно играть. Разве только в случае незаполненого FIFO на передачу, это самое FIFO некоторое время ждет. В документации ни про какое торможение вроде не написано.