Ссылка:
Прерывания в реальном времени в Python
Здесь говорится о планировании, сигналах и тому подобном для более старой версии Python (2.7).Я хочу задать аналогичный вопрос, используя более поздние версии (>= 3.7)
У меня есть робот с различными датчиками (с использованием Raspberry Pi), и я хочу иметь возможность реагировать на входные сигналы датчиков независимо от основной программы. Каждый датчик доступен программно через различные классы и методы датчиков в Python.
Пример:
Основная программа: «Погоня за кошкой»
Робот использует камеру, чтобы бродить вокруг. Если он видит кошку, он преследует ее.
Избегайте:
Эта программа использует датчик расстояния, чтобы определить, является ли робот слишком близко к чему-то. Если это так, она «прерывает» основную программу, обходит препятствие и возвращает управление основной программе.
Побег:
Эта программа использует датчик бампера для обнаружения столкновений с чем-либо. Если он во что-то врезается, то прерывает основную программу, отходит от препятствия, выбирает новое направление и возвращает управление основной программе.
В чисто аппаратной среде я бы программировал прерывания процессора и соответствующие обработчики прерываний для этого.
Однако я не совсем уверен, как лучше всего справиться с этим в среде программирования исключительно на Python.
Я думаю, что будет три процесса: основная программа, программа уклонения и программа побега. Как лучше всего связать их всех вместе, чтобы они делали то, что я хочу? Все ли они работают одновременно, или две программы препятствий должны оставаться остановленными до тех пор, пока не сработают?
Или, может быть, есть лучший способ, о котором я не знаю?
Я мог бы периодически опрашивать датчики, но я бы предпочел не делать этого, если есть лучший способ.
Подробнее здесь: https://stackoverflow.com/questions/789 ... -in-python
Реализация прерываний реального времени в Python [закрыто] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение