ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
1325617 Топик полностью
il-2 (29.06.2023 15:14, просмотров: 203) ответил vesago на Всем привет. Подскажите, пожалуйста. Стоял в изделии STM32F103C8T6. Поменял на GD32F103C8T6. Залил прошивку - все работает. Не работает USB CDC. Пишет USB устройство не распознано. Знаю. что проблем с цепями нет. Т.к. заливаю массторадж юсб загрузчик - с ним все без проблем. На что бы обратить внимание?
Имеется какое-то мелкое различие. Я тоже делал такую замену. В проекте (не моем) использовалась глючная и древняя STM32F10x, STM32L1xx and STM32F3xx USB-FS-Device Library. При переходе на GD32F103 не захотела работать. 

Я эту библиотеку в свое время довел до приличного состояния, выгреб кучу багов и добавил поддержку STM32F0. Заменил оригинальные исходные файлы на свои - и все заработало. Что там было - не разбирался, скорее всего какое-то различие в взведении битов в процессе энумерации.

Еще насчет отличий USB Host в STM32F и GD32F, про которую я знаю - у STMки Host определяет подключение девайса по подтяжке на линии D+ всегда (взводится соответствующий бит в регистре), а у Gigadevice - для того чтобы этот бит взвелся надо предварительно подать питание 5В на вывод VBUS (чтобы был зафиксирован передний фронт). Если напряжение на VBUS не меняется, то первое подключение девайса он определит, а последующие - нет.