Цитата
Я так понимаю это должно быть реализовано только через прерывание?
Если у адука и так работы много и по времени жестких рамок не стоит, то создайте 2 циклических буфера для UARTа, на прием и на передачу. Разрешите прерывание на прием и на передачу. В прерываниях на прием пишите все в буфер. Придет время обработаете. Когда нужно отправить - пишите тоже в буфер, все через прерывание постепенно само и отправится. Пульте функцию обработки uartа раз в пол секунды (для обработки принятых данных). На стороне компа поставте тайм-аут по-больше.
Если не требуется мгновееный ответ на посылку от компа - описанный вариант достаточно неплох.