Хочу передать байт с компа через 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к. Но вроде отладочная плата новая, неужели там что-то отвалилось?
Как думаете, что может быть не так?
STM32 подключение USB код ошибки 43
.
Последний раз редактировалось Qic 19 май 2019, 19:33, всего редактировалось 1 раз.
-
- Сообщения: 10
Делал под процессор.Переделал под плату - вообще перестал реагировать.
На схеме 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, а в ранних виндах все нормально. А я старый комп выкинул (((
Последний раз редактировалось pazitiff25 28 сен 2018, 09:29, всего редактировалось 2 раза.
-
- Сообщения: 10
Есть в кубе в разделе USB_OTG_FS галочки Activate_SOF и Activate_VBUS.
Ну VBUS это питание, оно не сдалось, питание на плате и так есть (причем когда я ставлю эту галочку и начинаю генерить код, куб зависает намертво, даже в диспетчере задач не виден - приходится выдирать комп из розетки).
А что такое SOF? Start of frame аппаратный? Тыкаю его - не помогает.
Кстати, а SB186 - это перемычка или невпаянные детали?
Ну VBUS это питание, оно не сдалось, питание на плате и так есть (причем когда я ставлю эту галочку и начинаю генерить код, куб зависает намертво, даже в диспетчере задач не виден - приходится выдирать комп из розетки).
А что такое SOF? Start of frame аппаратный? Тыкаю его - не помогает.
Кстати, а SB186 - это перемычка или невпаянные детали?
.
Последний раз редактировалось Qic 19 май 2019, 19:32, всего редактировалось 1 раз.
- iEugene0x7CA
- Адепт
- Сообщения: 1570
- Откуда: Киев
pazitiff25 писал(а):Еще некоторые жалуются, что ошибка 43 выскакивает на Windows10, а в ранних виндах все нормально. А я старый комп выкинул (((
Я как-то собирал USB-COM по тутору из инета, заработало сразу, но правда я на Win7 сижу.
На всякий случай — зайди в диспетчер задач и пробей как там поставился драйвер, Win10 часто не признаёт примочки вроде программаторов и самопальных USB девайсов.
Ставя драйвер нужно делать это вручную, и только зайдя под безопасным режимом с отключенной проверкой цифровой подписи драйверов.
Правда, если в коде или железе проблема — это совсем другое дело.
Советую для начала купить ту отладку, какую юзает автор тутора, чтобы можно было просто залить его код и убедиться что он работает.
USB штука достаточно не простая чтобы осваивать её методом тыка самому.
-
- Сообщения: 10
Переставил драйвер в безопасном режиме с отключенной цифровой подписью, не помогает.
Подключил другой usb (тот что HS), тоже ошибка 43. Мало вероятно, что испорчены оба порта.
Подключил другой usb (тот что HS), тоже ошибка 43. Мало вероятно, что испорчены оба порта.
Последний раз редактировалось pazitiff25 30 сен 2018, 08:34, всего редактировалось 1 раз.
-
- Сообщения: 10
Попробовал на другом компьютере - та же фигня.
Подскажите, а есть какие-нибудь библиотеки семплов или примеров для stm32f767? Где их искать?
Программатор-то на этих usb-портах работает, значит проблемы в коде.
Дурная идея - а нельзя ли передавать данные на компьютер через программатор?
Подскажите, а есть какие-нибудь библиотеки семплов или примеров для stm32f767? Где их искать?
Программатор-то на этих usb-портах работает, значит проблемы в коде.
Дурная идея - а нельзя ли передавать данные на компьютер через программатор?
Всем привет.
Недавно возился с STM32F407. До этого разработал множество устройств с FS USB. И всё было нормально при конфигурации с STM32QubeMX. Устройства виделись как COM порт, но нужно было только увеличить размер стека и кучи.
Но со временем понадобился HS USB. Был вынужден использовать PHY. Я использовал USB3300-EZK и получил "сбой запроса дескриптора" код 43. Как я это поборол.
1. Я управлял nRESET USB3300-EZK. Видимо делал это не правильно. Завёл ножку nRESET в Z.
Вторая проблема была в том, что USB3300-EZK не прилип к GND при пайке. Пришлось устранить дефект монтажа.
После всего этого устройство определилось как виртуальный COM порт. Ничего сложного. Всё работает.
Недавно возился с STM32F407. До этого разработал множество устройств с FS USB. И всё было нормально при конфигурации с STM32QubeMX. Устройства виделись как COM порт, но нужно было только увеличить размер стека и кучи.
Но со временем понадобился HS USB. Был вынужден использовать PHY. Я использовал USB3300-EZK и получил "сбой запроса дескриптора" код 43. Как я это поборол.
1. Я управлял nRESET USB3300-EZK. Видимо делал это не правильно. Завёл ножку nRESET в Z.
Вторая проблема была в том, что USB3300-EZK не прилип к GND при пайке. Пришлось устранить дефект монтажа.
После всего этого устройство определилось как виртуальный COM порт. Ничего сложного. Всё работает.
Вернуться в «Микроконтроллеры и ПЛИС»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей