Такая зависимость от скорости непонятна. В эмуляторе не воспроизводится. Но в эмуляторе я эмулировал из такого расчета: если символ на прием пришел, но не вычитан из порта F764, то USART должен выдать/не выдать прерывание (в зависимости от F765.D6 на запись) и приостанавливать прием следующего символа (управляя сигналом DTR) до того момента, пока не произошло чтение с порта F764. Что и дает синхронизацию при любой скорости передачи. При этом читать статус USART (порт F765 на чтение) можно сколько угодно раз - это на состояние автомата USART не должно влиять.
Символ в конце передачи скорее всего возникает от неправильно выставленного в терминальной программе типа терминала (я ставлю тип терминала VT52).
А что в режиме чтения по прерыванию (надо поставить в конфиге "INT_IO 1")?






Ответить с цитированием