inventor
Jul 8 2017, 15:31
Бьюсь второй день, пытаясь запустить VCP на этой отладочной плате
За образец взял пример с ST.com stm32_f105-07_f2_f4_usb-host-device_lib.zip
переделав его на USB HS в режиме FS - так как это разведено на плате
после запуска устройство находится в диспетчере устройств Windows,
но "запуск этого устройства невозможен. код 10"
Этот же код на проце 407 с USB FS пашет без проблем
частоту поставил 168, чтобы поделилось до 48
настройки ног посмотрел, в чем может быть проблема?
С USB начал совсем недавно разбираться
Genadi Zawidowski
Jul 8 2017, 18:23
С чем-то похожим я сталкивался, когда пытался скомпилировать под IAR проект-пустышку сгенерированный кубом с USB CDC.
Причем, тот же код абсолютно нормально работал после компиляции под GCC. Возможно, чтио0то отличается в интерпретации weak.
Genadi Zawidowski
Jul 8 2017, 22:27
Разжевано - объяснено, почему в IAR не работает а в GCC работает?
Потому что названия разные - IAR и GCC. Ни одной одинаковой буквы.
А например в CC_ARM и GCC - две буквы одинаковые.
Из под IAR работает без проблем.
Проблема в коcячности драйверов ST. Удалите из диспетчера устройств, то что поставилось автоматом и установите драйвера в ручную. См. принскины. Это нужно сделать в двух разделах: Порты (СОМ и LPT) и Контроллеры универсальной последовательной шины USB (тут оно буден как состоавное устройство)
Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Genadi Zawidowski
Jul 9 2017, 14:13
Я вообще-то тестировал на W10, где не требуются .INF файлы для работы USB CDC устройств.
Автор версию винды не указывал, предполагаю, что ХP. На W10 проблем не было, на W8 не пробовал, на 7-ке тоже было нормально, а на ХР как повезёт, часть машин ставятся с пол оборота, а часть нет. Нашёл решение принудительной установкой нужных дров в ручном режиме. Проверено на 407 и 401 серии, думаю на других 4-х тоже самое, на 10x серии не пробовал.
Genadi Zawidowski
Jul 9 2017, 22:34
Скомпилированное IAR, оно не работает потому, что некоторые функции устройства, вызываемые при инициализации, не возвращают правильного ответа. При чем тут драйверы...
Да причём тут IAR, всё работает, имею виду VCP, даже на полной оптимизации.
У меня тоже сначала не работало.
Нужно изменить размер буфера в хедере usbd_cdc.h
#define CDC_DATA_FS_MAX_PACKET_SIZE 64
inventor
Jul 11 2017, 07:40
Цитата(Lem @ Jul 10 2017, 23:09)

У меня тоже сначала не работало.
Нужно изменить размер буфера в хедере usbd_cdc.h
#define CDC_DATA_FS_MAX_PACKET_SIZE 64
может быть CDC_DATA_HS_MAX_PACKET_SIZE ?
на 429 плате USB HS
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.