Хочу передать байт с компа через 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к. Но вроде отладочная плата новая, неужели там что-то отвалилось?
Как думаете, что может быть не так?
STM32 подключение USB код ошибки 43
Re: STM32 подключение USB код ошибки 43
.
Last edited by Qic on 19 May 2019, 19:33, edited 1 time in total.
-
pazitiff25
- Posts: 10
- Joined: 22 Sep 2018, 11:00
Re: STM32 подключение USB код ошибки 43
Делал под процессор.Переделал под плату - вообще перестал реагировать.
На схеме D+ подтянут к питанию резюком 1.5к (я так понял это 12 мб/с). Но через пин PG6. Надо его включить какой-то функцией (или просто халом) или тупо коротнуть проводочком на +3 вольта. Тут вдруг выясняется, что на этой дорогущей плате нет этого резистора 1.5к. Нашел в закромах, коротнул на питание - выскочила моя любимая табличка "43 устройство не опознано".
Вот только не пойму, когда я делал проект чисто под процессор, табличка и без внешнего резистора выскакивала. Может резистор 1.5k есть внутри чипа, а внешний нужен для подстраховки, если новичок спалит внутренний, поэтому он и не впаян.
Грешу что чип горелый. USB висит на порте A, а я его изрядно покромсал, когда экспериментировал с портами. Наверное зря купил такой здоровенный мк, напихана там куча всяких функций, надо брать платки как у чуваков с видеороликов.
Еще некоторые жалуются, что ошибка 43 выскакивает на Windows10, а в ранних виндах все нормально. А я старый комп выкинул (((
На схеме D+ подтянут к питанию резюком 1.5к (я так понял это 12 мб/с). Но через пин PG6. Надо его включить какой-то функцией (или просто халом) или тупо коротнуть проводочком на +3 вольта. Тут вдруг выясняется, что на этой дорогущей плате нет этого резистора 1.5к. Нашел в закромах, коротнул на питание - выскочила моя любимая табличка "43 устройство не опознано".
Вот только не пойму, когда я делал проект чисто под процессор, табличка и без внешнего резистора выскакивала. Может резистор 1.5k есть внутри чипа, а внешний нужен для подстраховки, если новичок спалит внутренний, поэтому он и не впаян.
Грешу что чип горелый. USB висит на порте A, а я его изрядно покромсал, когда экспериментировал с портами. Наверное зря купил такой здоровенный мк, напихана там куча всяких функций, надо брать платки как у чуваков с видеороликов.
Еще некоторые жалуются, что ошибка 43 выскакивает на Windows10, а в ранних виндах все нормально. А я старый комп выкинул (((
Last edited by pazitiff25 on 28 Sep 2018, 09:29, edited 2 times in total.
-
pazitiff25
- Posts: 10
- Joined: 22 Sep 2018, 11:00
Re: STM32 подключение USB код ошибки 43
Есть в кубе в разделе USB_OTG_FS галочки Activate_SOF и Activate_VBUS.
Ну VBUS это питание, оно не сдалось, питание на плате и так есть (причем когда я ставлю эту галочку и начинаю генерить код, куб зависает намертво, даже в диспетчере задач не виден - приходится выдирать комп из розетки).
А что такое SOF? Start of frame аппаратный? Тыкаю его - не помогает.
Кстати, а SB186 - это перемычка или невпаянные детали?
Ну VBUS это питание, оно не сдалось, питание на плате и так есть (причем когда я ставлю эту галочку и начинаю генерить код, куб зависает намертво, даже в диспетчере задач не виден - приходится выдирать комп из розетки).
А что такое SOF? Start of frame аппаратный? Тыкаю его - не помогает.
Кстати, а SB186 - это перемычка или невпаянные детали?
Re: STM32 подключение USB код ошибки 43
.
Last edited by Qic on 19 May 2019, 19:32, edited 1 time in total.
-
pazitiff25
- Posts: 10
- Joined: 22 Sep 2018, 11:00
Re: STM32 подключение USB код ошибки 43
LD8 горит.
- iEugene0x7CA
- Адепт
- Posts: 1571
- Joined: 20 May 2012, 02:38
- Location: Киев
Re: STM32 подключение USB код ошибки 43
Я как-то собирал USB-COM по тутору из инета, заработало сразу, но правда я на Win7 сижу.pazitiff25 wrote:Еще некоторые жалуются, что ошибка 43 выскакивает на Windows10, а в ранних виндах все нормально. А я старый комп выкинул (((
На всякий случай — зайди в диспетчер задач и пробей как там поставился драйвер, Win10 часто не признаёт примочки вроде программаторов и самопальных USB девайсов.
Ставя драйвер нужно делать это вручную, и только зайдя под безопасным режимом с отключенной проверкой цифровой подписи драйверов.
Правда, если в коде или железе проблема — это совсем другое дело.
Советую для начала купить ту отладку, какую юзает автор тутора, чтобы можно было просто залить его код и убедиться что он работает.
USB штука достаточно не простая чтобы осваивать её методом тыка самому.
-
pazitiff25
- Posts: 10
- Joined: 22 Sep 2018, 11:00
Re: STM32 подключение USB код ошибки 43
Переставил драйвер в безопасном режиме с отключенной цифровой подписью, не помогает.
Подключил другой usb (тот что HS), тоже ошибка 43. Мало вероятно, что испорчены оба порта.
Подключил другой usb (тот что HS), тоже ошибка 43. Мало вероятно, что испорчены оба порта.
Last edited by pazitiff25 on 30 Sep 2018, 08:34, edited 1 time in total.
-
pazitiff25
- Posts: 10
- Joined: 22 Sep 2018, 11:00
Re: STM32 подключение USB код ошибки 43
Попробовал на другом компьютере - та же фигня.
Подскажите, а есть какие-нибудь библиотеки семплов или примеров для stm32f767? Где их искать?
Программатор-то на этих usb-портах работает, значит проблемы в коде.
Дурная идея - а нельзя ли передавать данные на компьютер через программатор?
Подскажите, а есть какие-нибудь библиотеки семплов или примеров для stm32f767? Где их искать?
Программатор-то на этих usb-портах работает, значит проблемы в коде.
Дурная идея - а нельзя ли передавать данные на компьютер через программатор?