
USB-устройства, эмулирующие последовательный порт (COM), требуют корректной настройки драйверов и параметров порта для стабильной работы. Чаще всего с этой задачей сталкиваются при подключении микроконтроллеров (Arduino, STM32), программаторов (ST-Link, J-Link), адаптеров RS-232/485 или промышленных датчиков. Без правильной конфигурации связь с устройством будет невозможна, а ошибки вроде «Порт занят» или «Устройство не опознано» станут постоянными.
Первый шаг – установка драйвера. Для большинства устройств на базе чипов CH340, CP2102 или FTDI драйверы доступны на сайтах производителей. Например, для CH340G (распространен в китайских клонах Arduino) потребуется драйвер версии 3.5.2020.12 или новее. После установки проверьте появление нового COM-порта в Диспетчере устройств (Пуск → Диспетчер устройств → Порты (COM и LPT)). Если порт не отображается, обновите драйвер вручную через контекстное меню устройства.
Далее настройте параметры порта: скорость передачи (baud rate), биты данных, стоп-биты и контроль четности. Стандартные значения для микроконтроллеров – 9600, 8N1 (8 бит данных, без контроля четности, 1 стоп-бит), но для промышленных устройств могут требоваться 115200 или даже 256000. Убедитесь, что эти параметры совпадают в настройках программы и устройства. В Windows изменить их можно через Свойства порта → Параметры порта в Диспетчере устройств.
Если устройство не отвечает, проверьте конфликты портов. Отключите все лишние COM-устройства и перезагрузите систему. В некоторых случаях помогает сброс привязки порта: удалите устройство в Диспетчере устройств с галочкой «Удалить драйвер», затем переподключите USB. Для устройств на базе FTDI можно использовать утилиту FT_Prog для сброса настроек EEPROM.
При работе с несколькими COM-устройствами используйте фиксированные номера портов. В Windows это делается через Диспетчер устройств → Свойства порта → Дополнительные параметры → Номер COM-порта. Выберите свободный номер (например, COM5) и перезагрузите систему. Это исключит конфликты при повторном подключении устройства.
Определение номера COM-порта в диспетчере устройств Windows
Откройте диспетчер устройств через команду devmgmt.msc в окне «Выполнить» (Win + R) или через поиск в меню «Пуск». В списке устройств найдите раздел «Порты (COM и LPT)». Если USB-устройство подключено и распознано системой, оно отобразится здесь с указанием номера COM-порта в скобках, например, USB Serial Device (COM3). Если раздел отсутствует, проверьте подключение устройства или установите драйверы вручную.
Для устройств с нестандартными драйверами (например, FTDI, CH340, CP210x) номер COM-порта может скрываться в других разделах: «Контроллеры USB», «Другие устройства» или «Универсальные последовательные шины». Щелкните правой кнопкой мыши по устройству, выберите «Свойства» → вкладка «Параметры порта» → «Дополнительно». Здесь отображается текущий COM-порт и доступен выбор другого из списка свободных.
Если устройство не отображается, обновите конфигурацию оборудования: в диспетчере устройств нажмите Действие → Обновить конфигурацию оборудования. Для принудительного назначения COM-порта используйте утилиту mode в командной строке: mode COM3:9600,N,8,1 – где COM3 – целевой порт, а параметры соответствуют настройкам устройства (скорость, биты данных, стоп-биты).
В Windows 10/11 номер COM-порта можно зафиксировать, чтобы избежать его изменения при переподключении устройства. В свойствах устройства на вкладке «Параметры порта» выберите «Использовать следующий COM-порт» и укажите свободный номер. Проверьте занятые порты через regedit в ветке HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM – здесь перечислены все зарегистрированные COM-порты.
При конфликтах портов (например, два устройства пытаются использовать COM3) отключите одно из них в диспетчере устройств или измените номер вручную. Для виртуальных COM-портов (например, эмуляторов) используйте утилиты производителя (Virtual COM Port Drivers от FTDI) или сторонние инструменты вроде com0com для создания парных портов.
Установка драйверов для USB-устройства с виртуальным COM-портом

Большинство USB-устройств с виртуальным COM-портом (например, адаптеры USB-UART на базе микросхем CH340, CP2102 или FT232) требуют установки специализированных драйверов. Процесс начинается с идентификации чипа: подключите устройство к ПК, откройте Диспетчер устройств (Win + X → Диспетчер устройств) и найдите неопознанное устройство в разделе «Другие устройства» или «Порты (COM и LPT)». Щелкните правой кнопкой по устройству, выберите «Свойства» → вкладка «Сведения» → параметр «ИД оборудования». В строке VID_XXXX&PID_XXXX первые четыре символа после VID_ укажут производителя (например, 1A86 для CH340, 10C4 для CP2102).
Скачайте драйвер с официального сайта производителя чипа или проверенного источника (например, Silicon Labs для CP2102, FTDI для FT232). Распакуйте архив и запустите установщик (*.exe или *.msi). Если драйвер распространяется в виде *.inf-файла, в Диспетчере устройств выберите «Обновить драйвер» → «Выполнить поиск драйверов на этом компьютере» → укажите путь к папке с файлами. После установки устройство появится в разделе «Порты (COM и LPT)» с назначенным номером COM-порта (например, COM3).
- Для Linux (ядро 5.0+) драйверы CH340 и CP2102 встроены по умолчанию. Проверьте подключение командой
lsusb– устройство должно отображаться в списке. Если нет, установите пакетlinux-modules-extraдля вашей версии дистрибутива. - На macOS драйверы FTDI и CP2102 устанавливаются через
brew install --cask silicon-labs-vcp-driverили скачиваются с сайта производителя. После установки перезагрузите систему. - Если устройство не определяется, отключите проверку подписи драйверов в Windows (в режиме загрузки с отключенной проверкой подписи) или используйте утилиту
Zadigдля ручной установки драйвера libusb.
Изменение номера COM-порта через свойства устройства
Откройте Диспетчер устройств через поиск Windows или комбинацию Win + X. Найдите раздел Порты (COM и LPT), разверните его и выберите нужное USB-устройство, например, USB Serial Device (COM3). Дважды кликните по нему или выберите Свойства в контекстном меню.
В открывшемся окне перейдите на вкладку Параметры порта, затем нажмите кнопку Дополнительно. Здесь отображается текущий номер COM-порта, например, COM3, и выпадающий список доступных вариантов. Windows резервирует порты с COM1 по COM256, но не все из них свободны.
Выберите из списка желаемый номер, например, COM5, если он не занят другим устройством. Если порт уже используется, система предупредит об этом. В таком случае освободите его через Диспетчер устройств, отключив или удалив конфликтующее оборудование. Избегайте портов с номерами выше COM20 – некоторые программы их не распознают.
После выбора нажмите ОК, затем Применить и закройте окно свойств. Перезагружать компьютер не обязательно, но рекомендуется переподключить USB-устройство, чтобы изменения вступили в силу. Проверьте новый номер в Диспетчере устройств или через команду mode в командной строке.
Если после изменения порт не отображается или устройство не работает, вернитесь в свойства и выберите другой номер. Некоторые драйверы, особенно для промышленных контроллеров или адаптеров RS-232, могут требовать фиксированного COM-порта. В таких случаях уточните требования в документации к устройству.
Для массового изменения портов на нескольких устройствах используйте утилиту USBDeview от NirSoft. Она позволяет редактировать параметры всех подключенных USB-устройств, включая номера COM-портов, без необходимости ручного поиска в Диспетчере устройств. Запускайте утилиту с правами администратора.
Запомните: Windows сохраняет настройки COM-порта для каждого USB-устройства по его уникальному идентификатору (VID/PID). Если вы подключите устройство к другому USB-разъему, номер порта может сброситься. Чтобы избежать этого, используйте один и тот же порт или настройте статический COM через реестр в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB.
Настройка параметров связи: скорость, биты данных и стоп-биты
Скорость передачи данных (baud rate) определяет, сколько бит информации передаётся за секунду. Для большинства USB-устройств, эмулирующих COM-порт, стандартные значения – 9600, 19200, 38400, 57600 или 115200 бод. Выбор зависит от возможностей устройства: микроконтроллеры часто работают на 9600 или 115200, а промышленные датчики могут требовать нестандартных значений (например, 256000). Ошибка в настройке скорости приведёт к нечитаемым данным или полному отсутствию связи. Проверьте документацию устройства – производители указывают рекомендованные параметры в разделе «Serial Communication» или «UART Settings». Если документация отсутствует, начните с 9600 бод и увеличивайте значение до стабильной работы.
Биты данных и стоп-биты формируют структуру каждого передаваемого байта:
- Биты данных – обычно 8 (стандарт для ASCII и двоичных данных), реже 7 (для устаревших протоколов). Использование 7 бит может привести к потере старшего бита, что исказит символы с кодами выше 127.
- Стоп-биты – 1 бит (по умолчанию) или 2 (для медленных или зашумлённых линий). Два стоп-бита увеличивают надёжность, но снижают скорость передачи на ~10%. Для USB-устройств 1 стоп-бит почти всегда достаточен.
- Чётность – опциональный параметр для проверки ошибок. Варианты:
none(без проверки),even(чётное количество единиц),odd(нечётное). Включайте чётность только если устройство её требует – лишние проверки замедляют обмен.
Настройте параметры в терминале (например, PuTTY, Tera Term) или программно через API (функция DCB в Windows, termios в Linux). После изменения перезапустите соединение – многие устройства игнорируют новые настройки до сброса порта.
Проверка работоспособности COM-порта с помощью терминальных программ

После настройки COM-порта для USB-устройства необходимо убедиться в его корректной работе. Терминальные программы позволяют отправлять и принимать данные через последовательный порт, что помогает диагностировать проблемы на физическом и логическом уровнях. Наиболее распространённые инструменты: PuTTY, Tera Term, RealTerm и встроенная утилита screen в Linux. Выбор программы зависит от операционной системы и требуемого функционала.
Для проверки в Windows откройте PuTTY, выберите тип соединения «Serial», укажите номер COM-порта (например, COM3) и установите параметры: скорость (baud rate) – 9600, 19200 или 115200 (должна совпадать с настройками устройства), биты данных – 8, стоп-биты – 1, чётность – None, управление потоком – None. Нажмите «Open». Если порт исправен, окно терминала останется пустым, но готовым к приёму данных.
В Linux или macOS используйте команду screen /dev/ttyUSB0 115200, где /dev/ttyUSB0 – путь к устройству, а 115200 – скорость. Если соединение установлено, терминал не выдаст ошибок. Для выхода из screen нажмите Ctrl+A, затем K и подтвердите. Альтернатива – minicom, где настройки задаются через minicom -s.
Отправьте тестовые данные через терминал. Например, введите AT (для модемов) или любую строку и нажмите Enter. Если устройство отвечает (например, OK), порт функционирует. Отсутствие ответа может указывать на неверные параметры соединения, повреждение кабеля или неисправность устройства. Проверьте настройки скорости и номера порта в диспетчере устройств (Windows) или через dmesg | grep tty (Linux).
RealTerm удобен для низкоуровневой диагностики: поддерживает отправку HEX-кодов, просмотр необработанных данных и настройку тайм-аутов. Включите режим «Display» → «Hex[Space]», чтобы видеть сырые байты. Это полезно при работе с нестандартными протоколами или бинарными данными. Для отправки HEX-команды используйте вкладку «Send», введите последовательность (например, 55 AA 03) и нажмите «Send Numbers».
Если данные принимаются с искажениями, проверьте целостность кабеля и разъёмов. USB-адаптеры на базе чипов CH340 или FTDI более стабильны, чем дешёвые клоны. Обновите драйверы через сайт производителя или с помощью утилиты Zadig для замены стандартных драйверов Windows на libusb. В Linux убедитесь, что пользователь состоит в группе dialout (sudo usermod -a -G dialout $USER).
Для автоматизированного тестирования используйте скрипты на Python с библиотекой pyserial. Пример кода для отправки и приёма данных:
import serial
ser = serial.Serial('COM3', 115200, timeout=1)
ser.write(b'AT
')
response = ser.read(100)
print(response)
ser.close()
Если скрипт завершается без ошибок, но данных нет – проблема в устройстве или протоколе обмена. Проверьте документацию к устройству на предмет специальных команд инициализации или требований к формату данных.
Решение проблем с отсутствием COM-порта после подключения устройства
Первым шагом проверьте наличие драйверов для USB-устройства. Откройте «Диспетчер устройств» (Win + X → Диспетчер устройств) и найдите раздел «Порты (COM и LPT)». Если устройство отображается с желтым восклицательным знаком или в разделе «Другие устройства», обновите драйвер вручную. Скачайте актуальную версию с сайта производителя (например, для FTDI, CH340 или CP210x) и установите через «Обновить драйвер» → «Выполнить поиск драйверов на этом компьютере». Для устройств на базе чипов CH340 часто требуется драйвер от WCH (wch-ic.com), а для FTDI – официальный драйвер с ftdichip.com.
Если драйвер установлен, но COM-порт не появляется, сбросьте настройки USB-контроллера. В «Диспетчере устройств» разверните «Контроллеры USB», найдите «Корневой USB-концентратор» или «Generic USB Hub», щелкните правой кнопкой и выберите «Удалить устройство». Перезагрузите компьютер – Windows переустановит контроллеры автоматически. Для устройств с виртуальными COM-портами (например, Arduino) попробуйте принудительно назначить порт: в «Диспетчере устройств» найдите устройство, откройте «Свойства» → «Параметры порта» → «Дополнительно» и выберите свободный COM-порт из списка (например, COM3 или COM5).
Проверьте физическое подключение и питание. Используйте оригинальный USB-кабель с поддержкой передачи данных (некоторые кабели предназначены только для зарядки). Подключите устройство напрямую к порту USB 2.0 на материнской плате – хабы и порты USB 3.0/3.1 иногда вызывают конфликты. Если устройство требует внешнего питания (например, модемы или программаторы), убедитесь, что оно подключено к источнику. Для диагностики используйте утилиту USBView (от Microsoft) или Zadig – они покажут, распознается ли устройство на уровне шины, даже если драйвер не установлен.
Использование командной строки для диагностики COM-портов
Для быстрой проверки доступных COM-портов в Windows используйте команду mode в командной строке. Введите mode без параметров – система выведет список всех активных последовательных портов с их текущими настройками (скорость, биты данных, стоп-биты). Если порт не отображается, проверьте подключение устройства или обновите драйверы через Диспетчер устройств. Для детальной информации по конкретному порту, например COM3, выполните: mode COM3. Команда покажет статус порта, включая ошибки передачи, что полезно при диагностике сбоев.
Утилита chgport (доступна в Windows 10/11) позволяет сопоставить виртуальные COM-порты с физическими USB-устройствами. Запустите chgport – отобразится список всех портов с их текущими назначениями. Если USB-устройство не определяется, попробуйте переназначить порт вручную: chgport COM4=USB\VID_1234&PID_5678, где VID и PID – идентификаторы устройства из Диспетчера устройств. Это решает проблемы конфликтов портов при подключении нескольких устройств одновременно.
Для Linux и macOS используйте ls /dev/tty* – команда выведет все доступные последовательные устройства, включая виртуальные COM-порты. На Linux дополнительно проверьте права доступа: ls -l /dev/ttyUSB*. Если порт недоступен, добавьте пользователя в группу dialout командой sudo usermod -a -G dialout $USER и перезагрузите систему. Для мониторинга активности порта в реальном времени подойдет screen: screen /dev/ttyUSB0 9600, где 9600 – скорость обмена.
При диагностике проблем с передачей данных используйте PuTTY в режиме командной строки. Запустите сеанс с параметрами: putty -serial COM3 -sercfg 115200,8,n,1, где 115200 – скорость, 8 – биты данных, n – без контроля четности, 1 – стоп-бит. Если соединение не устанавливается, проверьте настройки устройства на соответствие параметрам. Для логирования сеанса добавьте ключ -log session.log – файл сохранит все входящие и исходящие данные для последующего анализа.
