Я пишу простой многоканальный протокол RS485 для последовательной связи в распределенной системе. Я использую адресуемую модель, где подчиненным устройствам предоставляется окно 20 мс для ответа. Главный UC опрашивает подключенные устройства на наличие обновлений, и они отвечают соответствующим образом. Я использовал контрольные суммы и предпринял необходимые меры предосторожности, чтобы подключенные устройства не отвечали на искаженные сообщения. Этот метод оказался эффективным примерно в 99% случаев, но я теряю пакет, если во время сеанса связи вводится новое устройство. Подключение нового устройства «горячим» будет иметь негативные последствия для сигнала, который контролируется подчиненными устройствами, хотя бы в течение очень короткого времени. Я занимаюсь разработкой программного обеспечения, но как я могу смягчить эту ситуацию, не пытаясь воссоздать TCP? Мы используем модель опроса, потому что она быстра и хорошо выполняет свою работу для нашего приложения, нет необходимости в функциональности RTOS. У меня есть множество циклов на каждом процессоре, подумайте в общих чертах.