Page 1 of 1

STM32 подключение USB код ошибки 43

Posted: 27 Sep 2018, 22:59
by pazitiff25
Хочу передать байт с компа через USB на stm32. Купил отладочную плату NUCLEO-F767ZI. Делаю виртуальный com порт.

Посмотрел кучу роликов, у всех примерно одно и то же:






Скачал драйвер 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к. Но вроде отладочная плата новая, неужели там что-то отвалилось?

Как думаете, что может быть не так?

Re: STM32 подключение USB код ошибки 43

Posted: 28 Sep 2018, 01:50
by Qic
.

Re: STM32 подключение USB код ошибки 43

Posted: 28 Sep 2018, 06:13
by pazitiff25
Делал под процессор.Переделал под плату - вообще перестал реагировать.

На схеме D+ подтянут к питанию резюком 1.5к (я так понял это 12 мб/с). Но через пин PG6. Надо его включить какой-то функцией (или просто халом) или тупо коротнуть проводочком на +3 вольта. Тут вдруг выясняется, что на этой дорогущей плате нет этого резистора 1.5к. Нашел в закромах, коротнул на питание - выскочила моя любимая табличка "43 устройство не опознано".

Вот только не пойму, когда я делал проект чисто под процессор, табличка и без внешнего резистора выскакивала. Может резистор 1.5k есть внутри чипа, а внешний нужен для подстраховки, если новичок спалит внутренний, поэтому он и не впаян.

Грешу что чип горелый. USB висит на порте A, а я его изрядно покромсал, когда экспериментировал с портами. Наверное зря купил такой здоровенный мк, напихана там куча всяких функций, надо брать платки как у чуваков с видеороликов.

Еще некоторые жалуются, что ошибка 43 выскакивает на Windows10, а в ранних виндах все нормально. А я старый комп выкинул (((
резюк.jpg

Re: STM32 подключение USB код ошибки 43

Posted: 28 Sep 2018, 07:15
by pazitiff25
Есть в кубе в разделе USB_OTG_FS галочки Activate_SOF и Activate_VBUS.
Ну VBUS это питание, оно не сдалось, питание на плате и так есть (причем когда я ставлю эту галочку и начинаю генерить код, куб зависает намертво, даже в диспетчере задач не виден - приходится выдирать комп из розетки).
А что такое SOF? Start of frame аппаратный? Тыкаю его - не помогает.

Кстати, а SB186 - это перемычка или невпаянные детали?

Re: STM32 подключение USB код ошибки 43

Posted: 28 Sep 2018, 20:04
by Qic
.

Re: STM32 подключение USB код ошибки 43

Posted: 28 Sep 2018, 22:52
by pazitiff25
LD8 горит.

Re: STM32 подключение USB код ошибки 43

Posted: 29 Sep 2018, 13:39
by iEugene0x7CA
pazitiff25 wrote:Еще некоторые жалуются, что ошибка 43 выскакивает на Windows10, а в ранних виндах все нормально. А я старый комп выкинул (((
Я как-то собирал USB-COM по тутору из инета, заработало сразу, но правда я на Win7 сижу. :)
На всякий случай — зайди в диспетчер задач и пробей как там поставился драйвер, Win10 часто не признаёт примочки вроде программаторов и самопальных USB девайсов.
Ставя драйвер нужно делать это вручную, и только зайдя под безопасным режимом с отключенной проверкой цифровой подписи драйверов.

Правда, если в коде или железе проблема — это совсем другое дело.
Советую для начала купить ту отладку, какую юзает автор тутора, чтобы можно было просто залить его код и убедиться что он работает.
USB штука достаточно не простая чтобы осваивать её методом тыка самому.

Re: STM32 подключение USB код ошибки 43

Posted: 30 Sep 2018, 00:54
by pazitiff25
Переставил драйвер в безопасном режиме с отключенной цифровой подписью, не помогает.

Подключил другой usb (тот что HS), тоже ошибка 43. Мало вероятно, что испорчены оба порта.

Re: STM32 подключение USB код ошибки 43

Posted: 30 Sep 2018, 08:30
by pazitiff25
Попробовал на другом компьютере - та же фигня.
Подскажите, а есть какие-нибудь библиотеки семплов или примеров для stm32f767? Где их искать?

Программатор-то на этих usb-портах работает, значит проблемы в коде.

Дурная идея - а нельзя ли передавать данные на компьютер через программатор?