evgeniy1294 (04.07.2018 20:07 - 20:12, просмотров: 249) ответил pav256 на USB CDC cubeMX (stm32F072 + FreeRtos) помощь.
Драйвер качал по ссылке. Ещё раз повторюсь, с включенным modem manager'ом под линухом не заработает. Нужно править дескриптор. https://www.st.com/en/development-tools/stsw-stm32102.html
static int8_t CDC_Receive_FS (uint8_t* Buf, uint32_t *Len)
{
/* USER CODE BEGIN 6 */
USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
USBD_CDC_ReceivePacket(&hUsbDeviceFS);
// 0 - Проверяем состояние автомата
if (converter.state != WAIT) return (USBD_OK);
// 1 - Читаем параметры
converter.tlen = Len[0]-1;
converter.rlen = Buf[0];
if (converter.tlen == 0) {converter.rlen = 0; return (USBD_OK);}
if (converter.rlen > 48) {converter.rlen = 0; converter.tlen = 0; return (USBD_OK);}
memcpy(converter.tx, Buf+1, converter.tlen);
// 2 - Переключаем автомат
converter.state = SPI_TX;
return (USBD_OK);
/* USER CODE END 6 */
}