Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 7, 2017 15:30:37

Rosa
Зарегистрирован: 2017-11-07
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Com-порт в Pythom

Я через COM-порт опрашиваю определенные контроллеры. Вопрос в следующем - если контроллер есть, ответ получаю в штатном режиме. Если контроллера нет - программа подвисает на команде read. Попытка использовать inWaiting результата не дает - программа заканчивает работу не считав данные даже если контроллер подключен к COM-порту:

 import serial
connectUART = serial.Serial(port='COM3', baudrate=9600, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
connectUART.close()
connectUART.open()
print 's'
otvet = bytearray([])
commanda = bytearray([13, 10, 38, 3, 2, 132, 5, 161])
c=connectUART.write(commanda)
print 'w'
#while connectUART.inWaiting() > 0:
read_val1 = connectUART.read()
otvet.append(int(read_val1.encode('hex'), 16))
print '1: ', int(read_val1.encode('hex'), 16)
print 'r',otvet
connectUART.close()
connectUART.close()

Вопрос: что не так? как определить, пришли ли данные в порт и если нет, то прервать чтение данных и перейти к другим действиям.

Офлайн

#2 Ноя. 7, 2017 17:28:29

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Com-порт в Pythom

Документация, выдержка

write_timeout (float) – Set a write timeout value.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Ноя. 7, 2017 19:01:13

Rosa
Зарегистрирован: 2017-11-07
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Com-порт в Pythom

спасибо, помогло

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version