Добрый день!
Столкнулся с такой проблемой: криво работает передача по USB Interrupt каналу. Использую стандартные функции, сгенерированные CubeMX. Вызываю вот эту функцию для передачи данных
Код
uint8_t CDC_Transmit_HS(uint8_t* Buf, uint16_t Len)
{
uint8_t result = USBD_OK;
/* USER CODE BEGIN 12 */
USBD_CDC_SetTxBuffer(hUsbDevice_1, Buf, Len);
result = USBD_CDC_TransmitPacket(hUsbDevice_1);
/* USER CODE END 12 */
return result;
}
Передаю по 8 байт, вызываю функцию передачи 8 раз. При этом приходит только первая посылка. Период между вызовами функции передачи данных составляет 480 микросекунд. Попробовал отправлять данные под отладкой - приходят все 8 пакетов. Фактически, под отладкой я изменил только период между вызовами функции передачи данных. Получается, я слишком часто передаю данные?