barabekСпасибо. Вы полностью ответили на поставленный вопрос.
Скорости любые, но и объёмы передачи довольно большие, потому ставить 9600 бод не получится.
Цитата
AndreySВ AVR при использовании буфера FIFO (глубиной на 2 байта) только теоретически есть возможность передачи без пауз. А практически???
Но у силабс буфер передачи является выходным сдвиговым геристром, в АВР - нет.
В AVR на практике без пауз, т.к. есть флаг (и соответствующее прерывание) по опустошению буфера. При начале передачи данных первое и второе прерывания по опустошению буфера срабатывают "почти сразу", т.к. из буфера байт сразу уходит в сдвиговый регистр. Сразу заполняем буфер вторым байтом. Таким образом, получаем всегда запас по времени чуть меньше, чем в 10 бит, для того, чтобы положить очередной байт в буфер.
Цитата
Если буферы пелеполняются, то получается что входной поток данных (с той или иной стороны) огромен. И ваша прошивка попросту не справляется с ним. Тут или прошивку ускорять или поток уменьшать (это конечно если буферы у вас кольцевые).
Повторюсь: Длины непрерывных пакетов не знаю, но подозреваю, что порядка нескольких килобайт.
Буферы кольцевые. Прошивку менять особо некуда. Смотрел, что получается в ассемблере - ничего лишнего. Один простой цикл.
Цитата
Какие паузы при передачи байтов по UART с той стороны???
Ещё повторюсь: Железки, находящиеся "по ту сторону" UART'ов таких задержек не имеют.