|
разделить программу на транспортный и протокольный уровни. У транспортного д.б. только одна функция - принять/передать байт/буфер с обработка hardware ошибок. Если RTU (типа MODBUS RTU), то еще и слежение за паузами между пакетами. У протокольного же все остальное - формирование и разбор буфера, проверка CRC и т.п. А также управление транспортным уровнем.
Транспортный уровень обычно ложиться на вектора прерывания от UART, а протокольный может и в MAINе обитать.
Ферштейн? В смысле понятно изложил?
E-mail: info@telesys.ru