Устройство PySerial сообщает о готовности прочитать - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь заставить мой последовательный GSM-модем работать с AT-командами и PySerial.К сожалению, я всегда получаю следующую ошибку.

read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

Мой код выглядит так:

serialSource = serial.Serial('/dev/ttyACM3', baudrate=115200, timeout=0.5, write_timeout=None)

serialSource.write(b'AT+CMGR=1\r\n')

chunkSize = 200
encodedRead = b''
while True:
    byteChunk = serialSource.read(size=chunkSize)
    encodedRead += byteChunk
    if not len(byteChunk) == chunkSize:
        break

print(encodedRead)

Странно, я получаю эту ошибку только периодически, но не всегда.

read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
b'AT+CMGR=1\r\n\r\nOK\r\n'
read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

Если я поставлю time.sleep(0.1) между записью и чтением, я не получу никакой ошибки, но он возвращает мне пустой байтовый массив b''.Есть идеи?

...