Scorpio писал(а):Хотелось бы организовать обмен так, чтобы вообще о нем не думать. Чтобы каждый модуль знал, что получит ответ на свой запрос, не думая о режиме и приоритете.
Сделай программный блок отвечающий за взаимодействие с МК и все запросы через него, он отправляет запрос, получает ответ, только потом следующий запрос. Или в него сохраняй отправленные запросы и в каждый ответ в МК прицепляй ID запросы, чтобы получить асинхронный обмен. Но лучший вариант это сделать регистровую модель как у нас - все данные готовятся заранее и в момент обращения просто выдаются, как на МК, так и на таком программном блоке.
Добавлено спустя 1 минуту 36 секунд:
Scorpio писал(а):Во, блин! А, если сделать так: МК в одном цикле считывает буфер UARTа и состояние всех датчиков. На основании полученных данных выполняет какие-нибудь действия и всегда передает на ПК текстовое сообщение фиксированной длины, в котором зишиты показания всех датчиков и текущее состояние МК. Тогда ПК не надо будет ничего запрашивать и ждать ответа, т.к. все данные всегда под рукой. Только комманды передавать.
Во-во! И команды также пиши в регистры, чтобы ответа долго не ждать!