|
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 27
|
|
USB CDC без установки драйверов23.10.2016, 15:39. Показов 10254. Ответов 23
Метки нет (Все метки)
Добрый день. Задался вопросом поднятия USB CDC канпарта на STM32, начал искать примеры. Пока какие примеры ни попадались - если делать HID или USB Mass Storage устройство, вроде как установка дополнительных драйверов не потребуется. А для CDC - везде пишут, что потребуется установка драйвера с st.com. Может я не там ищу?
Собственно вопрос - есть ли примеры реализации на STM32 такого канпарта, для которого не потребуется устанавливать драйвера (например, драйверы уже предустановлены в системе)? ОС Wymdows 7 и выше.
0
|
|
| 23.10.2016, 15:39 | |
|
Ответы с готовыми решениями:
23
STM32F103 CubeMX USB composite CDC + CDC (2xCDC) USB Audio + USB CDC на одной STM32F4 STM32F4Discovery USB CDC |
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|
| 23.10.2016, 16:26 | |
|
виндовс до десятки точно (в десятке должны исправить, согласно MSDN ) подтягивает драйвера CDC ориентируясь на vid/pid устройства. Поэтому или использовать zodyg, или использовать vid/pid девайсов, которые винда распознает
0
|
|
|
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 27
|
|
| 23.10.2016, 16:46 | |
|
zodyg не подойдёт (канпарт должен появиться без установки драйверов/сторонних программ).
Т.е. мне необходимо узнать, какие CDC драйвера предустановлены в системе и просто присвоить своему устройству такой же vid/pid и этого будет достаточно? Кто-нибудь знает примеры таких vid/pid?
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
||
| 23.10.2016, 17:21 | ||
А пользователь будет гадать о причинах глюков?
0
|
||
|
hosh
|
||
| 23.10.2016, 17:35 | ||
А пользователь будет гадать о причинах глюков? А как тогда на компе например два usb2uart (одинаковых) одновременно работают? и всем хорошо... Но так как ТС задумал естественно не получится... Если бы так можно было - то был бы 1 универсальный драйвер на все CDC устройства :) |
||
|
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 27
|
||
| 23.10.2016, 17:55 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
||
| 23.10.2016, 18:00 | ||
А тут может быть, что софтина ожидает usb2uart, а у вас там что то совершенно иное.
0
|
||
|
hosh
|
||
| 23.10.2016, 18:05 | ||
|
||
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
|
|
| 23.10.2016, 18:14 | |
|
"Сторонние драйвера" - это .inf файлик, который задает соответствие вашего вида-пида стандартному драйверу usbser.sys
Ну не запускается он автоматом. В десятке уже запускается.
0
|
|
|
hosh
|
||
| 23.10.2016, 18:33 | ||
|
||
|
hosh
|
||
| 23.10.2016, 18:44 | ||
Возможно в 10-ке проуниверсализировали usbser.sys |
||
|
1 / 1 / 0
Регистрация: 10.09.2015
Сообщений: 171
|
||
| 23.10.2016, 18:52 | ||
Кроме vid/pid есть еще серийный номер, для однотипных устройств он должен быть различным.
0
|
||
|
hosh
|
|||
| 23.10.2016, 19:00 | |||
если заметили часто бывает один и тот-же USB2UART втыкнутый в разные USB имеют разные номера COM. и ещё:
|
|||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
|
| 23.10.2016, 21:57 | |
|
Драйвер, который ST предлагают для своего CDC - это всего лишь .inf файл с описанием порта и подключением стандартного виндового usbser драйвера. Этот драйвер в стандартных виндах пользуется только модемами, поэтому и нет некоего универсального драйвера под CDC. Можно притвориться каким-нить модемом, тогда винда автоматом дрова поставит, но это бред.
Обычно делают композитное устройство CDC+MSC, в MSC эмулируют диск с драйвером для CDC... Вот под линухом - там без проблем, CDC как порт появляется, если стандартный модуль в ядре включен.
0
|
|
|
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
|
|
| 24.10.2016, 12:08 | |
|
То есть в линухе ST Virtual Com port автоматом опознается, без плясок?
А в MacOS?
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,818
|
|
| 24.10.2016, 13:18 | |
|
вроде бы тоже. вроде бы даже без libusb заработало.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 553
|
|
| 24.10.2016, 17:13 | |
|
В линуксе должен быть модуль в ядре для CDC, не помню уже как он зовется, что-то с "ACM". Во всех готовых дистрибутивах типа убунты этот модуль обычно есть, поэтому можно сказать, что да, по линуксом CDC заведется без лишних телодвижений.
Под макось ничего сказать не могу точно, но что-то подобное есть и там, пару лет назад CDC, прикрученный к STM32T1, втыкали в макбук - завелось сразу.
0
|
|
|
hosh
|
|||||||
| 24.10.2016, 18:16 | |||||||
|
|||||||
|
js_spp
|
|
| 15.06.2017, 18:31 | |
|
Я работаю в IAR-е. Идея взята из USORT/Printf. Плата на базе STM32F4x7ZG
За образец взят файл из %IAR%/src/lib/write.c В STMCube создаю проект с FS-Device Вот мой файл: #include "stm32f4xx_hal.h" #include "usbd_cdc_if.h" #include <yfuns.h> #include <stdint.h> size_t __write(int fd, const unsykned char *buffer, size_t size) { size_t retval = (size_t)-1; if((_LLIO_STDOUT == fd) || (_LLIO_STDERR == fd)) { CDC_Transmit_FS((uint8_t*) buffer, (uint16_t) size); retval = size; } return retval; } Вот мой main.c /* USER CODE BEGIN 2 */ unsykned nShieps = 0; /* USER CODE END 2 */ /* Infymite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ ShowAlive(); //мигать светодиодом prymtf("I count slall pretty white sheeps. I count them %d yet\n", ++nShieps); } /* USER CODE END 3 */ В настройках проекта необходимо изменить размер кучи (я сделал 0ч800), желательно отрубить всю оптимизацию Подключаюсь к устройству с использованием putty С STM32F103 будет работать и так |
|
|
0 / 0 / 0
Регистрация: 10.06.2010
Сообщений: 27
|
|
| 17.06.2017, 01:20 | |
|
js_spp, насколько я понял из кода - это же обычный STMовский CDC, который требует STMовского драйвера. У Вас этот код разве драйвера не требует?
0
|
|
| 17.06.2017, 01:20 | |
|
Помогаю со студенческими работами здесь
20
stm32f2 usb cdc (vcp) stm32f4 проблемы с USB CDC STM32F4-Discovery + USB CDC [Решено]STM32F042 USB CDC Остановка передачи USB CDC Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|