Уведомления

Группа в Telegram: @pythonsu

#1 Март 17, 2015 00:37:32

sovuschka
Зарегистрирован: 2015-03-16
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

опрос Serial и зависание при чтении (решение есть)

Есть код (часть кода), Я отправляю запрос и получаю ответ 10 символов
все работает в идеальных условиях
НО иногда ответ приходит битый т.е. 9 символов и тогда процесс ждет , долго ждет …

import serial
dan = (bytes('2005\r\n', encoding='ascii'))
ser = serial.Serial('COM2', 9600)
ser.write (dan)
print(dan)
#—–получить данные——————————-
s = str(ser.readline(10))
ser.close()
print (s)

как сделать чтоб по истечении, например 1сек. процесс чтения принудительно прерывался и код продолжил выполняться?..

Отредактировано sovuschka (Март 17, 2015 11:35:20)

Офлайн

#2 Март 17, 2015 02:35:08

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

опрос Serial и зависание при чтении (решение есть)

При создании объекта Serial укажите таймаут



Офлайн

#3 Март 17, 2015 11:18:06

sovuschka
Зарегистрирован: 2015-03-16
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

опрос Serial и зависание при чтении (решение есть)

Это я понимаю, КАК ЭТО СДЕЛАТЬ?

Офлайн

#4 Март 17, 2015 11:20:38

FrostRunner
Зарегистрирован: 2012-11-22
Сообщения: 4
Репутация: +  2  -
Профиль   Отправить e-mail  

опрос Serial и зависание при чтении (решение есть)

http://pyserial.sourceforge.net/pyserial_api.html
Вот подробное описание.

ser = serial.Serial('COM2', 9600, timeout=5)

Отредактировано FrostRunner (Март 17, 2015 11:26:01)

Офлайн

#5 Март 17, 2015 11:34:06

sovuschka
Зарегистрирован: 2015-03-16
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

опрос Serial и зависание при чтении (решение есть)

FrostRunner Все заработало!!! большое спасибо!!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version