Форум сайта python.su
0
Я через 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()
Офлайн
221
Документация, выдержка
write_timeout (float) – Set a write timeout value.
Офлайн
0
спасибо, помогло
Офлайн