pyserial не может записать полные байты в последовательный порт (шестнадцатеричные данные) - PullRequest
0 голосов
/ 03 апреля 2019

encode('utf-16') записывает шестнадцатеричное значение в последовательный порт, но отправляет только 5 битов на последовательный порт.


port = 'COM4'
baud = 9600
ser = serial.Serial(port, baud, timeout=1)
ser.reset_input_buffer()
ser.isOpen()
command = '4c 31 32 33'

ser.write(bytearray(str(command), 'utf-16'))

ser.close()

-----------------------------------------
a = ser.readline().decode('utf-16')
s = ''.join([chr(int(x, 16)) for x in a.split()])

Выход: L

Ожидаемый результат: L123

...