Отправка байтового значения больше 127 с использованием PyUSB
Я пытаюсь отправить некоторые данные из программы Python 3.5 на ПК с Windows 10 в микроконтроллер TM4C через USB, и для этого я использую PyUSB.
Проблема заключается в том, что всякий раз, когда значение байта превышает 127 (0x7f), PyUSB добавляет один дополнительный байт перед этим байтом и иногда также меняет исходное значение. Вот раздел кода, который я использую для отправки данных
def send_data(data): # data is list of integers
message = ''.join(chr(i) for i in data)
TivaC.epOut.write(message) #TiVaC is USB object
Некоторые из пакетов данных следующие:
sending ..0x66 0x12 0x0 0x0 0x0 0x6
Receiving 0x66 0x12 0x0 0x0 0x0 0x6
New Message
sending ..0x66 0x12 0x0 0x7f 0x0 0x6
Receiving 0x66 0x12 0x0 0x7f 0x0 0x6
New Message
sending ..0x66 0x12 0x0 0x80 0x0 0x6
Receiving 0x66 0x12 0x0 0xc2 0x80 0x0 0x6
Corrupt Packet
sending ..0x66 0x12 0x0 0xbf 0x0 0x6
Receiving 0x66 0x12 0x0 0xc2 0xbf 0x0 0x6
Corrupt Packet
sending ..0x66 0x12 0x0 0xc0 0x0 0x6
Receiving 0x66 0x12 0x0 0xc3 0x80 0x0 0x6
Corrupt Packet
sending ..0x66 0x12 0x1 0xf4 0x0 0x6
Receiving 0x66 0x12 0x1 0xc3 0xb4 0x0 0x6
Corrupt Packet
sending ..0x66 0x12 0x3 0xe8 0x0 0x6
Receiving 0x66 0x12 0x3 0xc3 0xa8 0x0 0x6
Corrupt Packet
Проблема только в отправке с ПК на микроконтроллер. Микроконтроллер всегда отправляет все байты правильно. Я проверил это.