Как создать виртуальный COM-порт в Windows

Виртуальный COM-порт чаще всего нужен тогда, когда программа (например, терминал, GPS-софт или софт для прошивки устройств) умеет работать только через последовательный порт, а физического RS-232-разъёма на компьютере нет или устройство подключено по USB, Ethernet либо эмулируется другой программой. В этом случае создаётся программный аналог порта — виртуальный COM-порт, который операционная система и приложения видят как обычный COM3, COM5 и так далее.

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

Что такое виртуальный COM-порт и когда он нужен

Виртуальный COM-порт — это программный объект, который эмулирует работу аппаратного последовательного порта. Данные, записанные в такой порт одним приложением, не уходят в физический разъём, а передаются другому приложению или перенаправляются на реальное устройство, сеть или файл. Для программ он выглядит как обычный serial-порт, поэтому переписывать софт не требуется.

Типичные сценарии, где без виртуального порта не обойтись:

  • 🔌 Связь двух программ между собой через null-modem соединение без кабеля — например, тестирование терминальной программы.
  • 📡 Подключение GPS-приёмника или трекера к нескольким навигационным программам одновременно через разделение одного потока данных.
  • 🛠️ Работа софта для диагностики и прошивки, который жёстко привязан к интерфейсу COM, тогда как устройство подключено по USB или TCP/IP.
  • 🧪 Отладка собственного оборудования и протоколов обмена — эмулятор отвечает как реальное устройство.
  • 💻 Перенаправление порта внутрь виртуальной машины, где запущено legacy-ПО.

Важно понимать разницу: если вы просто подключили USB-устройство с микросхемой FTDI, CH340 или CP210x, Windows сама создаёт виртуальный COM-порт после установки драйвера. Отдельная программа нужна тогда, когда физического устройства нет вообще или требуется связать порты между собой.

Обзор программ для создания виртуальных портов

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

ПрограммаЛицензияОсновная функцияДля кого
com0comБесплатная, open sourceПары связанных портов (null-modem)Разработчики, тестирование
Virtual Serial Port Driver (Eltima)Платная, есть пробный периодПары, разделение и объединение портовПрофессиональное использование
Virtual Serial Ports Emulator (VSPE)Условно-бесплатнаяПары, сплиттер, TCP-перенаправлениеУниверсальные задачи
HW VSP3Бесплатная для некоммерческого использованияПроброс COM-порта по TCP/IPСетевые устройства

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

📊 Для какой задачи вам нужен виртуальный COM-порт?
Связь двух программ между собой
Работа с GPS/навигацией
Диагностика и прошивка устройств
Проброс порта по сети

Создание пары портов через com0com

Рассмотрим самый популярный бесплатный вариант — com0com. Утилита создаёт пары виртуальных портов, соединённых между собой: всё, что одна программа пишет в первый порт, вторая читает из второго, и наоборот. Это программный эквивалент нуль-модемного кабеля.

Порядок действий:

  • 📥 Скачайте установщик com0com с официального репозитория проекта и установите его с правами администратора.
  • ⚙️ Откройте утилиту Setup (com0com Setup) — в ней по умолчанию уже создана одна пара портов, например CNCA0 и CNCB0.
  • ✏️ Переименуйте порты в привычные имена COM5 и COM6, отметив их в списке и указав новые имена.
  • ✅ Нажмите Apply и проверьте диспетчер устройств: в разделе «Порты (COM и LPT)» должны появиться оба новых порта.
⚠️ Внимание: на 64-битных версиях Windows драйвер com0com без цифровой подписи может не установиться. Если после установки порты помечены восклицательным знаком, используйте подписанную сборку драйвера или альтернативную программу — отключать проверку подписи драйверов в системе ради этого не стоит.

После создания пары можно проверить связь: откройте два окна терминальной программы (например, PuTTY в режиме Serial), подключите одно к COM5, другое к COM6 с одинаковыми параметрами скорости, и текст, набранный в одном окне, появится во втором.

☑️ Проверка после создания пары портов

Выполнено: 0 / 4

Настройка в Virtual Serial Port Driver и VSPE

В коммерческом Virtual Serial Port Driver логика похожая: в главном окне вы выбираете два имени портов из выпадающих списков и нажимаете кнопку добавления пары. Программа дополнительно умеет создавать разветвители (splitter), когда один реальный порт раздаётся на несколько виртуальных, и объединять несколько источников в один порт. Интерфейс локализован, а созданные конфигурации сохраняются между перезагрузками.

В VSPE после запуска нужно выбрать тип создаваемого устройства: Pair для связанной пары, Splitter для разделения потока или TcpServer/TcpClient для проброса порта по сети. Конфигурация сохраняется в файл, что удобно для переноса настроек между компьютерами. Точный набор доступных типов устройств зависит от версии программы, поэтому сверяйтесь с её документацией.

Виртуальный порт через USB-драйверы

Отдельный случай — когда виртуальный порт создаётся не эмулятором, а драйвером USB-устройства. Адаптеры и платы на чипах FTDI, CH340, CP210x, Prolific после установки драйвера появляются в системе как новый COM-порт. Если устройство подключено, но порт не появился, вам нужно не создавать порт вручную, а установить корректный драйвер с сайта производителя чипа или устройства.

Проверить результат можно в диспетчере устройств: раздел Порты (COM и LPT) должен содержать строку с названием адаптера и номером порта. Номер при необходимости меняется в свойствах устройства на вкладке Параметры портаДополнительно, если такая кнопка предусмотрена драйвером вашего устройства.

Почему программа не видит порт, хотя он есть в диспетчере

Частые причины — порт уже занят другим приложением (включая фоновые сервисы), программа запущена без нужных прав, либо она умеет перечислять только порты с номерами до COM9. Попробуйте закрыть лишние программы, переназначить порт на меньший номер и перезапустить софт.

Типичные проблемы и их решение

Если виртуальный порт создан, но работает не так, как ожидалось, начните с простых проверок. Сначала убедитесь, что оба конца пары настроены с одинаковыми параметрами: скорость, число бит данных, чётность и стоп-биты. Несовпадение параметров — самая частая причина «мусора» или тишины в терминале.

Далее проверьте, не занят ли порт. Windows не даёт двум приложениям одновременно открыть один и тот же COM-порт: если терминал уже держит COM5, вторая программа получит отказ. Закройте лишние приложения и повторите попытку. Также убедитесь, что в диспетчере устройств у порта нет жёлтого значка с кодом ошибки — он указывает на проблему с драйвером.

⚠️ Внимание: не удаляйте и не переустанавливайте драйверы виртуальных портов, пока ими пользуется работающее оборудование или производственный софт — обрыв связи в середине сеанса обмена может привести к потере данных или прерванной прошивке устройства.

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

Часто задаваемые вопросы

Можно ли создать виртуальный COM-порт без сторонних программ?

Штатными средствами Windows пару связанных виртуальных портов создать нельзя — потребуется утилита с собственным драйвером, например com0com. Исключение: USB-устройства, для которых порт появляется автоматически после установки драйвера.

Сколько виртуальных портов можно создать?

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

Почему программа видит только порты до COM9?

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

Работают ли виртуальные порты в Windows 11?

Работают, если драйвер выбранной утилиты совместим с вашей версией системы и имеет действующую цифровую подпись. Перед установкой проверьте требования на сайте разработчика программы.

Чем виртуальный порт отличается от физического?

Для приложений различий почти нет — обмен идёт через те же системные вызовы. Отличие в том, что данные не выходят на аппаратный разъём, а передаются между программами или перенаправляются на устройство по USB либо сети.