STM32 подключение USB код ошибки 43
Добавлено: 27 сен 2018, 22:59
Хочу передать байт с компа через USB на stm32. Купил отладочную плату NUCLEO-F767ZI. Делаю виртуальный com порт.
Посмотрел кучу роликов, у всех примерно одно и то же: https://www.youtube.com/watch?v=oDoavXrQdEg
https://www.youtube.com/watch?v=TYSCKWkCcPU&t=793s
https://www.youtube.com/watch?v=XKCjOlskW78
https://www.youtube.com/watch?v=4iSRUcb ... k&index=35
https://www.youtube.com/watch?v=Dy8CcO5i42Y
https://www.youtube.com/watch?v=YZjnCOun1wU
Скачал драйвер STSW-STM32102, поставил его после разархивирования.
В Cube настроил USB_OTG_FS >> Device only. И еще вверху USB_DEVICE >> Virtual com port. В настройщике частоты задал 48 МГц.
Втыкаю провод - выдает ошибку 43 (Система Windows остановила это устройство, так как оно сообщило о возникновении неполадок. (Код 43). Сбой запроса дескриптора USB-устройства).
Поменял в настройках проекта размер кучи и стека на 2000 и 4000.
В файле usbd_cdc_if.c заменил APP_RX_DATA_SIZE и APP_TX_DATA_SIZE на 64.
В файле usbd_cdc.h заменил CDC_DATA_HS_MAX_PACKET_SIZE и CDC_DATA_FS_MAX_PACKET_SIZE на 64U.
Перед отправкой проверяю соединение функцией if(hUsbDeviceFS.dev_state == 0x03) ... ;
Перезагружал комп раз десять. Купил новые хорошие провода. Втыкал их в разные usb-гнезда. Запитывал плату от батарейки, выдирая программатор.
Не помогает. Слышал, что надо напаять снаружи подтягивающий резистор 1.5к. Но вроде отладочная плата новая, неужели там что-то отвалилось?
Как думаете, что может быть не так?
Посмотрел кучу роликов, у всех примерно одно и то же: https://www.youtube.com/watch?v=oDoavXrQdEg
https://www.youtube.com/watch?v=TYSCKWkCcPU&t=793s
https://www.youtube.com/watch?v=XKCjOlskW78
https://www.youtube.com/watch?v=4iSRUcb ... k&index=35
https://www.youtube.com/watch?v=Dy8CcO5i42Y
https://www.youtube.com/watch?v=YZjnCOun1wU
Скачал драйвер STSW-STM32102, поставил его после разархивирования.
В Cube настроил USB_OTG_FS >> Device only. И еще вверху USB_DEVICE >> Virtual com port. В настройщике частоты задал 48 МГц.
Втыкаю провод - выдает ошибку 43 (Система Windows остановила это устройство, так как оно сообщило о возникновении неполадок. (Код 43). Сбой запроса дескриптора USB-устройства).
Поменял в настройках проекта размер кучи и стека на 2000 и 4000.
В файле usbd_cdc_if.c заменил APP_RX_DATA_SIZE и APP_TX_DATA_SIZE на 64.
В файле usbd_cdc.h заменил CDC_DATA_HS_MAX_PACKET_SIZE и CDC_DATA_FS_MAX_PACKET_SIZE на 64U.
Перед отправкой проверяю соединение функцией if(hUsbDeviceFS.dev_state == 0x03) ... ;
Перезагружал комп раз десять. Купил новые хорошие провода. Втыкал их в разные usb-гнезда. Запитывал плату от батарейки, выдирая программатор.
Не помогает. Слышал, что надо напаять снаружи подтягивающий резистор 1.5к. Но вроде отладочная плата новая, неужели там что-то отвалилось?
Как думаете, что может быть не так?