Здоровеньки були!
Уже сделано, но не проверял в железе (проверю вечером дома).
Отправка/прием побайтово с контролем "ситуации".
Отправка байта - запись в порт F764. Прием байта - чтение того же порта.
Контроль состояния передачи - порт F765 на чтение. Бит D7 - "1"-байт отправлен, готов принять новый байт для отправки. Бит D6 - "1"-вспомогательный, байт отправлен. После нескольких тактов обнуляется. Смысла в нем особого не вижу, но раз был в проекте, то я вывел. Возможно пригодится для формирования интервалов в передаче байтов. Бит D5 - "1"-прием байта завершен. После нескольких тактов обнуляется (зачем??? Возможно для вызова прерывания). Небольшой мануальчик (400кб) по этой реализации USART прилагаю.
Скорость работы USART фиксированная. Пока поставил 9600, можете предложить другую.