Virtual com port driver что это

Обновлено: 18.05.2024

Микроконтроллеры 1986ВЕ1Т, 1986ВЕ3Т, 1986ВЕ9х и 1901ВЦ1Т имеют контроллер USB-интерфейса, реализующий функции контроллера ведомого устройства (Device) и ведущего устройства (Host). В составе библиотеки SPL приведён пример для ведомого устройства (Device) под названием "VCOM_Echo", который позволяет использовать МК в качестве CDC USB устройства (Класс Коммуникационного Устройства), настроенного как виртуальный COM-порт. Чтобы ПК определял МК именно как устройство, подключенное по COM-порту, необходимо установить специальный драйвер. Ссылка на скачивание драйвера доступна в конце статьи.

В данной статье рассмотрена пошаговая установка драйвера Virtual COM порт в ОС Windows 7.

Если установить всё-таки не получается, то

Можно попробовать запустить операционную систему Windows в безопасном режиме или режиме с отключенной обязательной проверкой подписи драйверов.

Для Windows 7 при запуске компьютера необходимо быстро нажимать клавишу F8, после чего появится окно аналогично тому, что представлено на рисунке 8. После этого выбрать либо безопасный режим, либо режим с отключенной обязательной проверкой подписи драйверов и попробовать установить драйвер снова.

Рисунок 8 - Дополнительные варианты загрузки Windows 7

Для Windows 8 и 10 есть несколько способов перейти в аналогичное Windows 7 меню выбора режима загрузки, но самый простой заключается в том, чтобы нажать кнопку "Перезагрузка" вместе с зажатой кнопкой Shift прямо в меню "Пуск" (рисунок 9).

Рисунок 9 - Алгоритм попадания в первоначальный загрузчик Windows

После перезагрузки всплывёт полностью синий экран с различными вариантами загрузки операционной системы, необходимо перейти в меню "Поиск и устранение неисправностей" > "Дополнительный параметры" > "Параметры загрузки". После этого всплывёт окно с выбором режима загрузки операционной системы, как на рисунке 10.


Рисунок 10 - Меню выбора режимов загрузки Windows 8 (10)

Соответственно, также необходимо выбрать либо безопасный режим, либо режим с отключенной обязательной проверкой подписи драйверов и попробовать установить драйвер снова.

Virtual Serial Port Driver
Create pairs of virtual COM ports linked by virtual null-modem cable

Virtual COM Port Driver is a powerful technology designed specifically for those who develop, test, or debug serial port software and hardware. This solution will provide your system with as many virtual COM interfaces as you need.

If there are not enough physical COM ports or even if you don’t have a single real serial port on your computer, this dedicated software will come to the rescue. It will help you create pairs of virtual serial interfaces communicating via a virtual null-modem connection.

You can use Virtual Serial Port Driver as a standalone solution or integrate its advanced functionality into your own product.

Virtual Serial Port Driver
Полностью имитирует реальный серийный порт

Virtual Serial Port Driver создает виртуальные последовательные порты и соединяет их попарно виртуальным нуль-модемным кабелем. Приложения с обеих концов пары смогут обмениваться данными так, что все написанное первому порту появится во втором и наоборот.

Все виртуальные последовательные порты работают и ведут себя в точности как аппаратные, эмулируя все их настройки. Вы можете создать столько пар виртуальных портов, сколько Вам угодно, и при этом не будет ни нехватки последовательных портов, ни нагромождения дополнительного оборудования на Вашем столе.

Более того, технология виртуального последовательного порта от Eltima может быть полностью интегрирована в Ваше собственное программное обеспечение (DLL, ActiveX или Core level).

Установка драйвера

Для установки драйвера виртуального COM-порта необходимо иметь права администратора!

Загружаем в МК проект "VCOM_Echo" и подключаем отладочную плату к ПК с помощью кабеля USB A-B. На ПК открываем "Диспетчер устройств Windows", его можно найти в поиске меню "Пуск". Если драйвер не установлен, то после подключения МК по USB в диспетчере устройств появится "Неизвестное устройство". Открываем "свойства" нового устройства, как показано на рисунке 1.


Рисунок 1 - Диспетчер устройств Windows: неизвестное устройство Если МК определился в группе "Контроллеры USB" и отображается как "Unknown Device", вероятно был нарушен протокол обмена по USB, и проблему следует искать в ПО МК.

В открывшемся окне "Свойства. " выбираем пункт "Изменить параметры" (рисунок 2), при этом возможно потребуется ввести пароль администратора.


В новом окне выбираем пункт "Обновить драйвер", как показано на рисунке 3.


Здесь необходимо выбрать "поиск драйверов на компьютере" (рисунок 4).


Теперь необходимо разархивировать папку с драйверами в любую директорию на ПК, например, в корень диска С, после чего в открывшемся окне нужно указать путь к папке с драйвером и нажать кнопку "Далее" (рисунок 5).


Рисунок 5 - Окно "Обновление драйверов": выбор директории с драйвером

В процессе установки Windows может вывести предупреждение, в котором необходимо выбрать пункт "Всё равно установить этот драйвер", как показано на рисунке 6.


Рисунок 6 - Окно с предупреждением при установке драйвера

После установки драйвера в диспетчере устройств во вкладке "Порты(COM и LPT)" должно появиться новое устройство "Milandr USB RS-232 Emulation Driver" (рисунок 7).


Рисунок 7 - Диспетчер устройств Windows: новое COM-устройство

Миландр

Выкладываю проект реализации на MDR32F1Q виртуального COM порта, может кому пригодится.

МК эмулирует работу микросхемы FT232BM в режиме VCP. Возможна сборка проекта как чисто программного VCP,
так и в качестве законченного переходника USB-UART. Проект сделан в Eclipse CDT + GNU MCU Plugins, компилятор GNU Tools ARM Embedded.

deni
Спасибо за полезный проект.

WinUSB - класс USB устройств, имеющих стандартный драйвер и позволяющий работать напрямую с USB Endpoint из userspace, без написания собственного драйвера.
В Windows начиная с 7 поддерживается из коробки, устройства можно найти в системе по классу интерфейса (по GUID интерфейса)
В Linux только через библиотеку libusb
В приложении файл с проектом реализующим WinUSB совместимое устройство на MDR32F1Q

Спасибо за полезный проект.

На 1986ВЕ92 тоже работает.

bugfix usbd.c
Если не задать выравнивание и попадет на нечетный адрес, то валится в HardFault.

Насколько помню в блоке USB нет никаких событий связанных с отключением кабеля. Как вариант мониторить приход SOF, SOF должен приходить каждую 1мс, если нет значит отключили.

Да если не выровнять по адресу uint8_t SetupPacket[8], то возможен вылет на M0(M1), так как далее идет каст к USB_SetupPacket_TypeDef и возможно обращение по не выравненному адресу. Спасибо за поиск ошибок.

Читайте также: