Я написал сценарий py-serial UART, который выглядит следующим образом.
import serial
import time
try:
ser = serial.Serial(
#port='/dev/ttyAMA0',
port='/dev/ttyUSB1',
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=2
)
print ('Connection is open : ',str(ser.isOpen()))
except Exception as e:
print ("Something got wrong: ", e)
ser.write(b'hello..')
и сценарий, аналогичный получателю.
что я хочу это:
предположим, тайм-аут = 5
ser.write(b'Helloo...')
ser.flush()
ser.readline()
другой скрипт читает его и отправляет ответ только через последовательный порт.
эта строка чтения должна ожидать максимум этого тайм-аута, если она получила ответ через 2 секунды, то она не должна ждать 5 секунд.
Но с использованием этого тайм-аута он ждет 2 секунды, даже если данные получены в секунду.
так что я беспокоюсь о том, чтобы максимально подождать тайм-аут, но если данные получены ранее, они должны закончиться и продолжить.
Не удалось найти эту функцию, пожалуйста, помогите.