Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 9, 2010 16:23:47

sinopteek
От:
Зарегистрирован: 2009-09-28
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

pyserial прерывания по событию(приходу байта)

Стоит задача обмениваться информацией с тремя различными устройствами по последовательному порту (2 по RS485, 1 по RS232).
Работаю с pyserial - всё замечательно, обмен информацией налажен =D
Однако теперь хочу поставить скрипт в работу на постоянной основе. В связи с этим хочу отлавливать события по приходу пакета(или хотя бы байта), дабы уменьшить нагрузку на систему.
Много искал, но решения не нашёл.
Существует ли способ отлавливать приход посылки кроме как в цикле считывать байт или порта и проверять его?



Офлайн

#2 Ноя. 10, 2010 10:04:12

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

pyserial прерывания по событию(приходу байта)

Существует. Но, насколько видел, не без проблем.
В линуксе открытый дескриптор можно напрямую скормить select.select, например - в то время как на винде немного пляшут с бубном.

Пример реализации обоих способов есть в twisted.internet (несколько модулей содержащих serial в имени).



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version