pyserial read (), смешивающий байты и обычный символ - PullRequest
0 голосов
/ 06 февраля 2019

При считывании значений с датчиков качества воздуха UART получаемый массив байтов состоит из байтов и обычных символов (букв).Действительно, кажется, что он автоматически конвертирует каждый символ ASCII в формат ASCII, а не записывает их как байты.

Например, предполагаемая полученная линия (проверено на оборудовании сторонних производителей):
b '\ xff \ x1d \ x2c \ x01 \ x43 ' (пробелы добавлены для ясности)
принимается как:
b '\ xff \ x1d , \ x01 C ' (пробелы добавлены для ясности)

Код ниже: (python 3.5)

import serial  
ser = serial.Serial(port='/dev/ttyS0', baudrate = 9600)  #useless part excluded, conection working  
ASK = b'\xff\x02\x13 ....... \x03'  
while True:  
    ser.write(ASK)  
    print(ser.read())

Работа над модулем CM3 Lite от Raspberry с Raspbian lite.

...