PyUsb перезаписывает данные - PullRequest
0 голосов
/ 10 февраля 2020

Я делаю запрос от P C к Stm32, после этого Stm32 отправляет мне массив. На P C и Stm32 размер буфера составляет 64 байта. Если размер массива больше 64 байт, я делю массив на 2 части и отправляю пакет. Например: Переданные данные от P C:

 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

Переданные данные от Stm32:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
[16, 17]

После первой операции чтения на P C я получаю это:

 [16, 17, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

Функция чтения,

  def read(self, num_bytes=None, timeout=1000):
    if num_bytes is None:
        num_bytes = self.endpoint_in.wMaxPacketSize
    return self.dev.read(self.endpoint_in.bEndpointAddress,
                         num_bytes, timeout=timeout)

Как это возможно? Я понимаю, что буфер P C перезаписан, что я должен сделать? PS: изменение таймаута не помогло

...