Я читаю данные из последовательного порта, используя python (pyserial). Я могу прочитать данные, но когда я пытаюсь их использовать, кажется, что $*%\xff\x06$*%\xff\x02
ссылается на несколько ресурсов при переполнении стека и обнаружил, что ему нужнобыть декодированным, я попытался декодировать его в ascii, используя processed = (binascii.b2a_qp(raw))
, используя библиотеку binascii
, но получил следующий вывод $*%=FF=00$*%=FF=08
Я также попытался декодировать то же самое в UTF-8, но все еще безуспешно.Любые предложения о том, как обрабатывать ввод, полученный от функции read()
.Я также пытался использовать readline()
, но затем программа гаснет или выполняется бесконечно, кажется, что в последовательном выходе нет маркера EOL.Демонстрационный код выглядит следующим образом:
with serial.Serial('/dev/cu.usbserial-Device',9600) as ser:
ser.flushInput()
ser.flushOutput()
ser.write('S')
inputVal=[]
while(len(inputVal)<10000):
val = ser.read(10)
inputVal.append(binascii.b2a_qp(val))
Есть предложения?Заранее спасибо.