Всем добрый день! Работу одобрили, но задали два вопроса:
1) Как несколько программ могут работать с одним последовательным устройством, представляющим шину?
(Я же правильно понимаю, тут проблема в том, что если одновременно две программы отправят сообщение разным датчикам, например с адресом 16 и 1, и ответы приду в одно время, то я сниму полную кашу?)
2) Если программа хочет начать работать с датчиком, а он уже работает с другим процессом, как реализовать корректное ожидание освобождение процесса? И как это отслеживать?
(Я думал перед опросом датчика, слушать шину, если что-то проходит, то значит, что кто-то общается, тогда ждать, пока канал не замолчит, но это костыль какой-то. Например, если датчик шлёт раз в 30 секунд ответ, то я получу, что шина свободна)

Я буду благодарен за какие-нибудь направления или советы, так как кроме идеи, которую я выдвинул выше, я ничего не могу придумать. Гуглил, но ничего не нашёл, скорее всего не так гуглил.

Заранее спасибо!