Serialport класс

Описание интерфейса RS-485

В промышленности чаще всего используется интерфейс RS-485 (EIA-485), потому что в RS-485 используется многоточечная топология, что позволяет подключить несколько приемников и передатчиков.

Интерфейс RS-485 похож на RS-422 тем что также использует дифференциальный сигнал для передачи данных.

Существует два типа RS-485:

  • RS-485 с 2 контактами, работает в режиме полудуплекс
  • RS-485 с 4 контактами, работает в режиме полный дуплекс

В режиме полный дуплекс можно одновременно принимать и передавать данные, а в режиме полудуплекс либо передавать, либо принимать.

В одном сегменте сети RS-485 может быть до 32 устройств, но с помощью дополнительных повторителей и усилителей сигналов до 256 устройств. В один момент времени активным может быть только один передатчик.

Скорость работы также зависит от длины линии и может достигать 10 Мбит/с на 10 метрах.

Напряжение на линиях находится в диапазоне от −7 В до +12 В.

Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи компьютера с терминалом. В настоящее время используется в самых различных применениях.

Интерфейс RS-232-C соединяет два устройства. Линия передачи первого устройства соединяется с линией приема второго и наоборот (полный дуплекс) Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных RS-232 линий для обеспечения функций определения статуса и управления.

Последовательные порты COM

COM-порты компьютера, это связь компьютерного комплекса «дальнего действия». В отличие от параллельных портов и кабелей, ведших на «тяжёлые» устройства — принтеры, сканеры, Com-порты присоединяли к компьютеру «лёгкие» юниты — мышка, модем. Первые межкомьютерные интерфейсы (через «нуль-модем»). В дальнейшем, когда распространились локальные сети, а мыши стали подключаться по такому же разъёму, как и клавиатура — port ps/2 (пэ-эс-пополам) — com port как-то был подзабыт.

Возрождение пришло с появлением последовательного интерфейса USB. Вот и получилось движение по кругу. Теперь на USB можно встретить, кроме флешек, и мыши USB-шные, и USB-шные «клавы». Принтеры, сканеры модемы — вся периферия теперь на USB, забыла уже о толстых и солидных параллельных LTP — кабелях, которые необходимо было в обязательном порядке прикручивать с каждой стороны на 2 болта. А проводочков-то в этих USB — два сигнальных (собственно, канал один, один прямой сигнал, другой тот же — инверсный) и два — питание и корпус.

Прежних последовательных портов COM было несколько. Самый маленький — и самый востребованный 9-контактный порт (D9), к которому подключали большую чать устройств: мыши, модемы, нуль-модемные кабели. Контакты располагались в два ряда, 5 и 4 в ряд, получалась трапеция. Поэтому и название D9. На «маме» нумерация шла слева направо и сверху вниз:

1 2 3 4 5

6 7 8 9

На «папе» справа налево:

5 4 3 2 1

9 8 7 6

Далее в табличке указаны официальные параметры работы COM порта. Написано, максимальная длина кабеля — 15 м., хотя умудрялись протянуть и на 100 м.

Скорость передачи 115 Кбит/с (максимум)
Расстояние передачи 15 м (максимум)
Характер сигнала несимметричный по напряжению
Количество драйверов 1
Количество приемников 1
Схема соединения Полный дуплекс, от точки к точке

Распайка COM-порта, port RS232, 9 контактов.

Обозначение Тип Описание
1 DCD Вход Высокий уровень от модема, когда он принимает несущую модема-партнёра
2 RxD Вход Входящие импульсы данных
3 TxD Выход Исходящие импульсы данных
4 DTR Выход Высокий уровень (+12В) показывает готовность компьютера к приёму данных. Подключённая мышь использовала этот контакт как источник питания
5 GND Общий Земля
6 DSR Вход Готовность к передаче данных устройством
7 RTS Выход Ответная готовность устройства — партнёра
8 CTS Вход Готовность к приёму данных от партнёра
9 RI Вход Сигнал информирования компьютера о входящем звонке, поступившим на модем из линии связи

Свойства

Возвращает базовый объект Stream для объекта SerialPort.Gets the underlying Stream object for a SerialPort object.

Возвращает или задает скорость передачи для последовательного порта (в бодах).Gets or sets the serial baud rate.

Получает или задает состояние сигнала разрыва.Gets or sets the break signal state.

Возвращает число байтов данных, находящихся в буфере приема.Gets the number of bytes of data in the receive buffer.

Получает число байтов данных, находящихся в буфере отправки.Gets the number of bytes of data in the send buffer.

Возвращает значение, показывающее, может ли компонент вызывать событие.Gets a value indicating whether the component can raise an event.

(Унаследовано от Component)

Получает состояние линии обнаружения несущей для порта.Gets the state of the Carrier Detect line for the port.

Возвращает объект IContainer, который содержит коллекцию Component.Gets the IContainer that contains the Component.

(Унаследовано от Component)

Возвращает состояние линии готовности к приему.Gets the state of the Clear-to-Send line.

Возвращает или задает стандартное число битов данных в байте.Gets or sets the standard length of data bits per byte.

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.Gets a value that indicates whether the Component is currently in design mode.

(Унаследовано от Component)

Возвращает или задает значение, показывающее, игнорируются ли пустые байты (NULL), передаваемые между портом и буфером приема.Gets or sets a value indicating whether null bytes are ignored when transmitted between the port and the receive buffer.

Получает или задает состояние сигнала готовности данных (DSR).Gets the state of the Data Set Ready (DSR) signal.

Получает или задает значение, включающее поддержку сигнала готовности терминала (DTR) в сеансе последовательной связи.Gets or sets a value that enables the Data Terminal Ready (DTR) signal during serial communication.

Получает или задает кодировку байтов для преобразования текста до и после передачи.Gets or sets the byte encoding for pre- and post-transmission conversion of text.

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.Gets the list of event handlers that are attached to this Component.

(Унаследовано от Component)

Возвращает или задает протокол установления связи для передачи данных через последовательный порт с использованием значения Handshake.Gets or sets the handshaking protocol for serial port transmission of data using a value from Handshake.

Возвращает значение, указывающее открытое или закрытое состояние объекта SerialPort.Gets a value indicating the open or closed status of the SerialPort object.

Возвращает или задает значение, используемое для интерпретации окончания вызова методов и .Gets or sets the value used to interpret the end of a call to the and methods.

Возвращает или задает протокол контроля четности.Gets or sets the parity-checking protocol.

Возвращает или задает байт, которым заменяются недопустимые байты потока данных при обнаружении ошибок четности.Gets or sets the byte that replaces invalid bytes in a data stream when a parity error occurs.

Получает или задает последовательный порт, в частности, любой из доступных портов COM.Gets or sets the port for communications, including but not limited to all available COM ports.

Возвращает или задает размер входного буфера SerialPort.Gets or sets the size of the SerialPort input buffer.

Получает или задает срок ожидания в миллисекундах для завершения операции чтения.Gets or sets the number of milliseconds before a time-out occurs when a read operation does not finish.

Возвращает или задает число байтов во внутреннем входном буфере до возникновения события DataReceived.Gets or sets the number of bytes in the internal input buffer before a DataReceived event occurs.

Возвращает или задает значение, показывающее, включен ли сигнал запроса передачи (RTS) в сеансе последовательной связи.Gets or sets a value indicating whether the Request to Send (RTS) signal is enabled during serial communication.

Получает или задает ISite объекта Component.Gets or sets the ISite of the Component.

(Унаследовано от Component)

Получает или задает стандартное число стоповых битов в байте.Gets or sets the standard number of stopbits per byte.

Возвращает или задает размер выходного буфера последовательного порта.Gets or sets the size of the serial port output buffer.

Получает или задает срок ожидания в миллисекундах для завершения операции записи.Gets or sets the number of milliseconds before a time-out occurs when a write operation does not finish.

Вопросы открытия и изменения com-портов

Что касается того, как открываются com-порты Windows 7, здесь тоже ничего особо сложного нет. Иногда такая процедура понадобится для того, чтобы переназначить зарезервированные порты для некоторых устройств или же попросту удалить неиспользуемые.

Сначала кликаем на значке компьютера на Рабочем столе и выбираем строку свойств. На вкладке дополнительно жмем на кнопку переменных сред, после чего потребуется создать новую переменную с названием DEVMGR_SHOW_NONPRESENT_DEVICES со значением 1 (это позволит отобразить все порты и устройства, их использующие, в соответствующем диспетчере).

Теперь вызываем Диспетчер устройств либо из Панели управления, либо командой devmgmt.msc, вводим в строке меню «Выполнить». В нем необходимо отсортировать список устройств по типу. В разделе COM- и LPT-портов станут видны все неиспользуемые устройства, которые без надобности занимают соответствующие порты. Их можно совершенно просто удалить. Переназначение портов производится в субменю свойств любого установленного в системе компонента.

Прием и передача данных[править]

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

CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, , NULL, OPEN_EXISTING, , NULL);

Предпоследний параметр dwFlagsAndAttributes должен быть равен 0.
После успешного открытия порта, данные могут быть считаны или записаны при помощи функций ReadFile() и WriteFile().

HANDLE port = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, , NULL,
			OPEN_EXISTING, , NULL);
unsigned char dst1024 = {};

unsigned long size = sizeof(dst);
if(port!= INVALID_HANDLE_VALUE) 
	if(ReadFile(port,dst,size, &size,))
		printf("\nRead %d bytes",size);

Функция ReadFile/WriteFile осуществляет чтение/запись из файла (устройства) начиная с текущей позиции после окончания чтения обновляет указатель в файле.

BOOL ReadFile(
 HANDLE hFile, // хендл файла 
 LPVOID lpBuffer, //указатель на буфер 
 DWORD nNumberOfBytesToRead, // размер данных 
 LPDWORD lpNumberOfBytesRead, //размер считанных данных
 LPOVERLAPPED lpOverlapped //структура OVERLAPPED
);

Недостатком этого способа является то, что вызывая функцию ReadFile(), мы не знаем есть ли данные для чтения. Можно циклически проверять их наличие, но это приводит к дополнительным расходам времени ЦП.
Поэтому на практике часто удобней использовать асинхронный режим. Для этого при вызове функции CreateFile() параметр dwFlagsAndAttributes должен быть равен FILE_FLAG_OVERLAPPED.

CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, , NULL,
		OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);

Далее, необходимо настроить реакцию порта на события при помощи функции SetCommMask() и используя функции WaitCommEvent() и WaitForSingleObject() ожидать событие или тайм аут.
Например:

const int READ_TIME = 100;
OVERLAPPED sync = {};
int reuslt = ;
unsigned long wait = , read = , state = ;
	
/* Создаем объект синхронизации */
sync.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);

/* Устанавливаем маску на события порта */
if(SetCommMask(port, EV_RXCHAR)) {
	/* Связываем порт и объект синхронизации*/
	WaitCommEvent(port, &state, &sync);
	/* Начинаем ожидание данных*/	
	wait = WaitForSingleObject(sync.hEvent, READ_TIME);
	/* Данные получены */		
	if(wait == WAIT_OBJECT_0) {
		/* Начинаем чтение данных */
		ReadFile(port, dst, size, &read, &sync);
		/* Ждем завершения операции чтения */
		wait = WaitForSingleObject(sync.hEvent, READ_TIME);
		/* Если все успешно завершено, узнаем какой объем данных прочитан */
		if(wait == WAIT_OBJECT_0) 
			if(GetOverlappedResult(port, &sync, &read, FALSE)) 
				reuslt = read;
	}
}
CloseHandle(sync.hEvent);

Что подключают через com порт

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

С помощью COM-порта можно соединить два компьютера, используя так называемый «нуль-модемный кабель» (см. ниже). Использовался со времен MS-DOS для перекачки файлов с одного компьютера на другой, в UNIX для терминального доступа к другой машине, а в Windows (даже современной) — для отладчика уровня ядра.

Но в сетевом мире через com порт подключаются к консольному порту сетевых устройств (коммутаторов, роутеров, таких брендов как Cisco или Juniper)

Какая схема подключения к коммутаторам через последовательный порт. Есть переходники, например от фирмы st-lab На одном конце USB который вы подключаете к компьютеру, а второй это com порт.

Далее к ком порту подсоединяется вот такой шнурок, com порт, а с другой стороны LAN RJ45, и вся схема дает нам один большой шнурок USB to LAN.

Последовательный интерфейс RS-232

Работа Serial port на ПК базируется на стандарте передачи данных для последовательных устройств RS-232. Этот стандарт описывает процесс обмена данными между телекоммуникационным устройством, например, модемом и компьютерным терминалом. Стандарт RS-232 определяет электрические характеристики сигналов, их назначение, длительность, а также размеры коннекторов и схему выводов для них. При этом RS-232 описывает лишь физический уровень процесса передачи данных и не касается используемых при этом транспортных протоколов, которые могут меняться в зависимости от используемого коммуникационного оборудования и программного обеспечения.

Стандарт RS-232 был создан в 1969 г, а его последняя версия, TIA 232, вышла в 1997 г. В настоящее время RS-232 считается устаревшим, однако большинство операционных систем до сих пор его поддерживает.

В современных компьютерах разъем Serial port  представляет собой 9-штырьковый разъем типа «вилка» DB-9, хотя стандарт RS-232 описывает также разъем с 25–ю контактами ­– DB-25, который часто применялся на старых компьютерах. Разъем DB-9 обычно расположен на системной плате ПК, хотя в старых компьютерах он мог находиться на специальной мультикарте, вставляемой в слот расширения.

9- штырьковое гнездо DB-9 на материнской плате

Разъем DB-9 на кабеле подключаемого к порту устройства

В отличие от параллельного порта, разъемы с обеих сторон двустороннего последовательного кабеля идентичны. Помимо линий для передачи самих данных, порт содержит несколько служебных линий, по которым между терминалом (компьютером) и телекоммуникационным устройством (модемом) может передаваться управляющая информация. Хотя теоретически для работы последовательного порта достаточно лишь трех каналов – прием данных, передача данных и земля, практика показала, что наличие служебных линий делает связь более эффективной, надежной и, как следствие, более быстрой.

Назначение линий разъема Serial port DB-9 согласно RS-232 и их соответствие контактам разъема DB-25:

Контакт DB-9 Английское   название Русское название Контакт DB-25
1 Data Carrier Detect Несущая обнаружена 8
2 Transmit Data Передаваемые данные 2
3 Receive Data Принимаемые данные 3
4 Data Terminal Ready Готовность терминала 20
5 Ground Земля 7
6 Data Set Ready Готовность передающего устройства 6
7 Request To Send Запрос на отправку данных 4
8 Clear To Send Передача данных разрешена 5
9 Ring Indicator Индикатор звонка 22

Назначение последовательного порта – история и современное использование

Последовательный порт, как и параллельный, появился задолго до появления персональных компьютеров архитектуры IBM PC. В первых персоналках COM-порт использовался для подсоединения периферийных устройств. Однако сфера его применения несколько отличалась от сферы применения параллельного порта. Если параллельный порт использовался в основном для подключения принтеров, то COM-порт (кстати, приставка COM – это всего лишь сокращение от слова communication) обычно применялся для работы с телекоммуникационными устройствами, такими, как модемы. Тем не менее, к порту можно подключить, например, мышь, а также  другие периферийные устройства.

COM-порт, основные сферы применения:

  1. Подключение терминалов
  2. ~ внешних модемов
  3. ~ принтеров и плоттеров
  4. ~ мыши
  5. Прямое соединение двух компьютеров

В настоящее время сфера применения СОМ-порта значительно сократилась благодаря внедрению более быстрого и компактного, и, кстати, тоже последовательного, интерфейса USB. Почти вышли из употребления внешние модемы, рассчитанные на подключение к порту, а также «COM-овские» мыши. Да и редко кто теперь соединяет два компьютера при помощи нуль-модемного кабеля.

Тем не менее, в ряде специализированных устройств последовательный порт до сих используется. Можно найти его и на многих материнских платах

Дело в том, что по сравнению с USB COM-порт имеет одно важное преимущество – согласно стандарту последовательной передачи данных RS-232, он может работать с устройствами на расстоянии в несколько десятков метров, в то время как радиус действия кабеля USB, как правило, ограничен 5 метрами

Как открывать порты на Windows 7 для Minecraft

Что же касается открытия портов для одной из самых популярных онлайн-игр под названием Minecraft, тут можно применить два основных метода: настроить их вручную или использовать специальные утилиты, что намного проще. Начнем со второго.

Можно установить небольшую утилиту под названием Simple Port Forwarding, после запуска программы нужно указать номер порта 25565, свой IP-адрес и выставить некоторые дополнительные параметры. Но тут следует учесть, что приложение является условно-бесплатным, а через неделю после начала использования его придется покупать.

Значит, пользователю понадобится знать, как открывать порты на Windows 7 именно для этой игры вручную. Разберем ситуацию на примере роутеров. Для начала через браузер нужно войти в его настройки и обратиться к разделу Port Forwarding. Здесь придется создать новое подключение, а в листе настроек ввести IP самого роутера, IP провайдерского сервера, номер искомого порта (25565) и не забыть поставить галочку напротив задействования протокола TCP. После этого нужно сохранить настройки и просто перезагрузить маршрутизатор и компьютер (ноутбук). Как видим, эта методика несколько сложнее, поскольку придется обращаться к провайдеру (по крайней мере, для того, чтобы узнать адрес его сервера).

Распиновка COM порта(RS232)

Существует 2-е разновидности com порта, 25-и пиновый старый разъем и сменившей его более новый 9-и пиновый разъем.

Ниже приведена схема типового стандартного 9-контактного разъема RS232 с разъемами, этот тип разъема также называется разъемом DB9.

  1. Обнаружение несущей(DCD).
  2. Получение данных(RXD).
  3. Передача данных(TXD).
  4. Готовность к обмену со стороны приемника(DTR).
  5. Земля(GND).
  6. Готовность к обмену со стороны источника(DSR).
  7. Запрос на передачу(RTS).
  8. Готовность к передаче(CTS).
  9. Сигнал вызова(RI).

RJ-45 к DB-9 Информация о выводе адаптера последовательного порта для коммутатора

Консольный порт представляет собой последовательный интерфейс RS-232, который использует разъём RJ-45 для подключения к управляющему устройству, например ПК или ноутбуку. Если на вашем ноутбуке или ПК нет штыря разъема DB-9, и вы хотите подключить ноутбук или ПК к коммутатору, используйте комбинацию адаптера RJ-45 и DB-9.

DB-9 RJ-45
Получение Данных 2 3
Передача данных 3 6
Готовность обмену 4 7
Земля 5 5
Земля 5 4
Готовность обмену 6 2
Запрос на передачу 7 8
Готовность к передаче 8 1

Цвета проводов:

1 Черный 2 Коричневый 3 Красный 4 Оранжевый 5 Желтый 6 Зеленый 7 Синий 8 Серый (или белый)

Сигналы и контакты интерфейса RS232
Разъем 9-ти пиновый # Разъем 25 пиновый # Обозначение Полное наименование Направление Что значит
Передача данных (Transmit Data) Передача данных от компьютера
Прием данных (Receive Data) Прием данных компьютером
Запрос на передачу (Request to Send)
Готовность передачи (Clear to Send) Аппаратный контроль передачи данных типа RTS/CTS
Готовность источника данных (Data Set Ready) Я готов для обмена данными
Готовность приемника данных (Data Terminal Ready) Я готов для обмена данными
Наличие несущей (Carrier Detect) Один модем соединен с другим
Сигнал вызова (Ring Indicator) Звонок (вызов) на телефонной линии
Земля

Замечание: DCD иногда маркируется как CD

Описание интерфейса RS-422

Интерфейс RS-422 похож на RS-232, т.к. позволяет одновременно отправлять и принимать сообщения по отдельным линиям (полный дуплекс), но использует для этого дифференциальный сигнал, т.е. разницу потенциалов между проводниками А и В.

Скорость передачи данных в RS-422 зависит от расстояния и может меняться в пределах от 10 кбит/с (1200 метров) до 10 Мбит/с (10 метров).

В сети RS-422 может быть только одно передающее устройство и до 10 принимающих устройств.

Линия RS-422 представляет собой 4 провода для приема-передачи данных (2 скрученных провода для передачи и 2 скрученных провода для приема) и один общий провод земли GND.

Скручивание проводов (витая пара) между собой позволяет избавиться от наводок и помех, потому что наводка одинаково действует на оба провода, а информация извлекается из разности потенциалов между проводниками А и В одной линии.

Напряжение на линиях передачи данных может находится в диапазоне от -6 В до +6 В.

Логическому 0 соответствует разница между А и В больше +0,2 В.

Логической 1 соответствует разница между А и В меньше -0,2 В.

Стандарт RS-422 не определяет конкретный тип разъема, обычно это может быть клеммная колодка или разъем DB9.

Распиновка RS-422 зависит от производителя устройства и указывается в документации на него.

При подключении устройства RS-422 нужно сделать перекрестие между RX и TX контактами, как показано на рисунке.

Т.к. расстояние между приемником и передатчиком RS-422 может достигать 1200 метров, то для предотвращения отражения сигнала от конца линии ставится специальный 120 Ом согласующий резистор или «терминатор». Этот резистор устанавливается между RX+ и RX- контактами в начале и в конце линии.

Как проверить работу RS-422?

Для проверки устройств с RS-422 лучше воспользоваться конвертером из RS-422 в RS-232 или USB (I-7561U). Тогда вы сможете воспользоваться ПО для работы с СОМ портом.

Как открывать порты на Windows 7: общее решение

Итак, изначально вся эта процедура сводится к изменению настроек брэндмауэра. Говоримся сразу: данное общее решение можно использовать исключительно в тех случаях, когда подключение осуществляется напрямую через кабель, а не маршрутизатор типа Wi-Fi-роутера (в этом случае порты нужно будет настраивать на самом устройстве).

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

Здесь слева вверху задействуем строку правил для входящих подключений, а затем создаем новое (в качестве компонента выбирается порт). На следующем этапе указываем протокол TCP, номер нужного порта, после чего разрешаем подключение. Далее появившиеся настройки профилей можно оставить без изменений. Затем вводим название нового правила и жмем кнопку «Готово».

Краткое описание:

COM Port Data Emulator это инструмент для эмуляции устройства, подключенного к последовательному порту,
COM порту или подключенного к сети Ethernet, генерирующего какой-либо поток последовательных данных.
Программа может формировать поток данных, преобразовывать поток данных в пакеты данных для портов RS232,
TCP/IP или UDP и отправлять их через выбранный порт.

COM Port Data Emulator может помочь разработчикам программного обеспечения в тестировании их
программ. Эта программа может заменить некоторые рутинные операции, которые, вы, возможно, выполняете
каждый день с помощью нескольких других программ.

Наша программа может читать поток данных из текстового или двоичного файла или создавать произвольный поток данных.
Вы можете отсылать данные один раз или через заданный интервал.

Как создать виртуальные порты?

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

Скачайте и установите программу Advanced Virtual COM Port. Установка занимает считаные минуты, при этом на одном из этапов нам предложат драйвер:

Программа для настройки виртуального com-порта в windows

Соглашаемся и нажимаем «Установить». Следует подождать несколько минут — не пугайтесь, если потребуется 5–10 минут. Это нормально.
После установки, заходим в программу и видим главное окно:

Кернел про -для настройки виртуального com-порта в windows

Оно содержит три основных вкладки: Общие (расширенные), клиентские и локальные порты.

Вкладка общие (или расширенные) порты позволяет делиться COM-портами через локальную сеть (LAN) или интернет. Таким образом, данные с виртуальных портов могут быть легко и быстро переданы другим пользователям.
Вкладка клиентские порты позволяют создавать порты на компьютере, которые подключаются к расширенным портам через виртуальный кабель нуль-модема. Стоит сказать, что виртуальный кабель программа предусматривает автоматически.
Вкладка локальные порты даёт возможность просматривать, создавать и удалять все пары виртуальных COM-портов.

Перейдём во вкладку локальные порты и нажмём кнопку Add. Перед нами откроется окно, предлагающее создать пару COM-портов, которые предполагаются быть соединёнными виртуальным нуль-модемным кабелем:

Создание виртуального com-порта в windows7

Жмём ОК. Переходим в Панель управления -> Система -> Диспетчер устройств.
Видим, что наши COM-порты были успешно созданы:

Виртуальные com-порты windows

Пример настройки порта и выполнения чтения/записи данных[править]

Код для работы с COM-портом. Многострадальный, соответственно относительно простой и понятный, при этом обходит основные подводные камни. Надеюсь, может быть полезен.

tty.hправить

 #ifndef TTY_H
 #define TTY_H

 #define NOMINMAX //иначе API windows определит макросы min и max, конфликтующие с std::max и std::min в vector
 #include <windows.h>

 #include <vector>
 #include <string>

 using namespace std;

 struct TTY {

 	TTY();
 	virtual ~TTY();

 	bool IsOK() const;
	
 	void Connect(const string& port, int baudrate);
 	void Disconnect();

 	virtual void Write(const vector<unsigned char>& data);
 	virtual void Read(vector<unsigned char>& data);
	
 	HANDLE m_Handle;

 };

 struct TTYException {
 };

 #endif

Проверка

Чтобы проверить работоспособность нашего переходника, необходимо каким-нибудь тонким предметом замкнуть контакты возле COM-порта (смотрите ниже изображение, где это необходимо сделать).

Переходим к разделу «Настройки соединения», где необходимо выбрать COM-порт. В новом окне следует настроить следующие параметры нашего порта:

  • скорость передачи сигнала — 115200;
  • биты данных — 8;
  • четность — нет;
  • стоповые биты — 1;
  • управление потоком — нет.

Далее подтверждаем изменения, нажав на кнопку ОК. После этого следует запустить соединение. Переходим к английской раскладке и печатаем любые слова в программе. На белом фоне отобразятся все символы, которые вы нажали.

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

На этом все. Можно отпускать контакты, которые вы зажимали, и начинать пользовать USB-COM-переходником.

Как проверить COM-порт компьютера? На что обратить внимание?

Как уже было сказано ранее, этот тип порта представляет собой двунаправленный интерфейс для передачи информации на битовом уровне последовательным способом. Отличительной характеристикой в сравнении с параллельным портом тут является передача данных бит за битом. Анатомия COM-порта такова, что на компьютере не он один использует последовательный способ передачи данных. Например, такие интерфейсы, как Ethernet или USB, тоже используют аналогичный принцип, но так сложилось исторически, что последовательным принято называть именно порт стандарта RS232.

Очень часто требуется открыть COM-порт для проведения ремонта и диагностики компьютера, при этом его также необходимо проверить на работоспособность. Сжечь элемент ведь очень просто. Чаще всего это происходит по вине пользователя, который производит отключение устройства неправильно, выдергивая разъем при подключенном интерфейсе. Простейшим способом проверки работоспособности интерфейса является подключение к нему мышки. Однако так сложно получить полную картину, так как манипулятор задействует только половину сигнальных линий из восьми имеющихся. Только использование специальной заглушки и программы позволит провести проверку работоспособности. Для этих целей уже существует специально разработанное программное обеспечение.

Распиновка разъёмов COM-порта

Распиновка никакой связи не имеет с распинанием, хотя, как проводки, вольно бегущие в одной оболочке кабеля, разбирают на стороны и жёстко припаивают к своим штырькам, сходно с распинанием. Штырёк, по-английски «pin», булавка, поэтому и распиновка, слово уже это компьютерно-связистский «проанглийский» жаргонизм. Означает — распайка проводов по штырькам на разъёме.

Форма разъёма, порядок проводков (штырьков) в нём, назначение каждого штырька, а также номиналы напряжений и смысл сигналов в каждом — это часть интерфейса. Обычно вся эта информация собирается в отдельный документ, называемый спецификацией порта. Такая простая и понятная табличка на одну страницу. В других разновидностях интерфейсов что-то такое может называться «протоколом». А здесь ещё просто называют «распиновкой».

вторник, 31 марта 2015 г.

Работа с COM портом из командной строки. Мониторинг

Напомню еще раз распиновку COM-порта:

Нам нужно управлять состоянием устройства ввода-вывода. Одной из таких команд — mode (синтаксис см. по mode /?):

Что мы видим? Видим возможность установки скорости, паритета, служебных пинов, паритета и иже с ними. А что нам даст обращение (mode com1) к конкретному COM-порту? А вот сие даст:

Cостояние пинов и настроек порта. Можем прочитать? Можем

Для этого воспользуемся FIND=»параметр» (важно точное указание всех знаков):

Передача в COM-порт

Отослать число в COM порт через ECHO (служит для вывода текста в стандартный поток вывода информации):

Источник

Установка драйверов com порт usb в Windows

К сожалению в Windows подключенные устройства, usb to com не всегда автоматически устанавливаются в системе, и приходится искать для них драйвера. Если вы покупали его сами, то в комплекте шел диск с драйверами, и можно воспользоваться им, если его нет, то смотрим как найти драйвера.

Открываем диспетчер устройств в Windows. Если не знаете как, то нажмите CTR+Pause breake, либо нажмите Win+R и в окне выполнить введите devmgmt.msc. Как видите у меня в разделе Порты (COM и LPT) нашелся на третьем COM порту неизвестный провод, и драйверов для него не нашлось у системы, о чем говорит нам желтый значок.

Переходим в свойства данного устройства и выбираем ИД оборудования, у вас будет, что то по типу usb\VID_067B&PID_2303&REV_0300, вот его вы копируете и ищите в гугле или яндексе.

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

Далее вы уже можете использовать возможности com порта, с помощью таких утилит на подобие Putty, где вы выбираете пункт Serial и указываете нужный порт Com порта, посмотреть его можно в том же диспетчере устройств.

Надеюсь вы научились и разобрались как подключать com порт usb в Windows.

Заключение

Если подвести некий небольшой итог, можно отметить, что ничего особо сложного в открытии портов в «семерке», впрочем, как и в любой другой системе, нет

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

Для Wi-Fi-соединения настройка роутера аналогична подключению к серверам Minecraft. В крайнем случае все необходимые данные можно получить у провайдера, если автоматическая настройка некоторых параметров не предусмотрена. Наконец, ничего может не получиться, если некоторые порты провайдером просто не поддерживаются или по каким-либо причинам блокируются.

Заключение

  1. Передача СОМ данных через протяженную USB линию осуществляется пакетами на более высоких частотах (12 МГц) и требует согласованной линии.
  2. Сведение до минимума длины USB тракта и использование протяженной линии для передачи СОМ данных напрямую позволило обеспечить надежную передачу данных через куски несогласованных проводов общей длинной 9,5 м.
  3. Передача RS-232 данных на низких частотах по линиям с малой ёмкостью (менее 2500 пФ) может осуществляться на расстояния до 300 м.
  4. Использование дифференциальных линий RS-422 или 485 для удаленной связей с USB портом компьютера позволяет увеличить расстояние до 1200 м, но при решении вопроса согласования линий.

Литература

WikipediA. The Free Encyclopedia.WikipediA. The Free Encyclopedia.WikipediA. The Free Encyclopedia.Способы передачи по витым парам.USB2.0 А вилка B вилка мультимедийный кабель. +5V-Powered, Multichannel RS-232 Drivers/Receivers. Dr. Bob Davidov. Преобразователь интерфейса порта последовательной передачи данных. Dr. Bob Davidov.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий