Настройка СОМ-порта
Открыв окно свойств порта и выбрав вкладку Настройка, увидим множество опций (рис. 4).
Рис.4 – Окно настройки com-порта
Скорость — в этом пункте выбираем скорость обмена между устройством и ПК.
Биты данных — сколько бит передавать за один раз (между старт-битом и стоп-битом).
Четность — выбор способа контроля четности. При передаче к числу добавляется еще один бит, дополняющий количество единиц в числе до четного или нечетного (это уже как выбрано в режиме передачи). Этот бит становится младшим разрядом передаваемого числа и принимает значение 1, если у нас нечетное число единиц, и 0, если четное. При проверке на четность, в случае если мы приняли нечетное число единиц (при проверке на нечетность — наоборот), порт передает устройству информацию об ошибке и просит повторить передачу.
Стоповые биты — количество стоп-бит, необходимых для правильного распознавания конца байта.
Управление потоком — выбор режима управления потоком (аппаратного или программного). В режиме программного управления, при определении ошибки, требуется некоторое время, чтобы отправить сигнал XOFF и приостановить прием, но за это время может произойти передача нескольких байт, которые будут утеряны (в случае отсутствия буфера принимаемых данных).
В пункте Дополнительно можно выбрать объем буферов FIFO либо отключить их вообще (что не рекомендуется).
Совет. Если у вас все нормально работает, не меняйте настройки, стоящие по умолчанию! Менять их необходимо тогда, когда этого требует устройство (о чем, наверняка, будет подробно сказано в инструкции к нему).
Таблица 2 – Ресурсы com-портов
Номер COM порта | Используемые адреса | Номер IRQ |
COM1 | 3F8h — 3FFh | IRQ4 |
COM2 | 2F8h — 2FFh | IRQ3 |
COM3 | 3E8h — 3EFh | IRQ4 |
COM4 | 2E8h — 2EFh | IRQ3 |
2.2 Работа с сom-портом из-под Win32
С портами из-под Win32 работают так же, как и с обычными файлами, используя при этом всего несколько специфичных функций WinAPI. Однако коммуникационный порт — это не совсем обычный файл. Для него, например, нельзя выполнить позиционирование файлового указателя, или же создать порт, если таковой отсутствует.
Любая работа с портом начинается с его открытия. Для этого используется файловая функция WinAPI.
C последовательными портами в Win32 работают как с файлами. Причем используют только функции API Win32.
Начинается работа с открытия порта как файла, причем для асинхронного режима ввода-вывода возможен только один вариант:
HANDLE handle = CreateFile(«COM1», GENERIC_READ | GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
Других вариантов быть не может, поэтому не будем рассматривать параметры этой функции подробно, единственное, что можно сделать — это заменить “COM1” на “COM2”.
При успешном открытии порта функция возвращает дескриптор handle, с которым и будем работать в дальнейшем. При неудачном открытии порта функция вернет значение INVALID_HANDLE_VALUE.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Источник
Как правильно настроить ком порт
Как переназначить COM порт для устройства в Windows 7
Всем привет сегодня расскажу как переназначить COM порт для устройства в Windows 7. Windows запоминает устройства, с которыми вы работали ранее. Некоторые программы некорректно работают с COM портами с номерами 10 и выше. Что же делать в случае, если ваша плата получила такой номер? Как задать COM порт для устройства? Как удалить зарезервированные COM порты? Все это и многое другое, вас ожидает в описании данной статьи, все вопросы по данной теме я жду в комментариях, в конце статьи, я постараюсь дать на них развернутый ответ.
Открываем Мой Компьютер > Свойства
Как переназначить COM порт для устройства в Windows 7-01
Выбираем «Дополнительные параметры системы».
Как переназначить COM порт для устройства в Windows 7-02
Открываем настройки переменных среды.
Как переназначить COM порт для устройства в Windows 7-03
Создаем новую переменную.
Как переназначить COM порт для устройства в Windows 7-04
Добавляем переменную DEVMGR_SHOW_NONPRESENT_DEVICES. Устанавливаем для неё значение в 1.
Как переназначить COM порт для устройства в Windows 7-05
Нажимаем везде «ОК» и выходим. Далее идём в Диспетчер устройств (Мой Компьютер > Свойства > Диспетчер устройств). В пункте меню «Вид» включаем отображение скрытых устройств.
Как переназначить COM порт для устройства в Windows 7-06
Теперь нам стали видны наши неиспользуемые устройства, занимающие COM порты и мы можем удалить их.
Как переназначить COM порт для устройства в Windows 7-07
В Диспетчере устройств (Мой Компьютер > Свойства > Диспетчер устройств) выбираем устройство, которому мы хотим изменить COM порт.
Как переназначить COM порт для устройства в Windows 7-08
На вкладке «Параметры порта» нажимаем «Дополнительно».
Как переназначить COM порт для устройства в Windows 7-09
Назначаем желаемый номер для COM порта и нажимаем «ОК».
Как переназначить COM порт для устройства в Windows 7-10
Вот так вот просто переназначить COM порт для устройства в Windows 7.
Источник
Последовательный (COM) порт
Навигация: Настройка > Параметры последовательного порта >
Последовательный (COM) порт
Вы можете создать новую конфигурацию нажав кнопку с плюсом на панели инструментов в главном окне программы (рис. 1.1.1) или через меню «Опции». После того, как вы нажмете эту кнопку, будет открыто диалоговое окно (рис. 2.1.2). Данное окно содержит несколько закладок с параметрами. Закладка «Параметры COM порта» описана в этом разделе.
Для того чтобы производить запись с нескольких портов одновременно вам необходимо создать несколько конфигураций. Для этого повторите операцию, описанную выше для каждой конфигурации. Позднее вы можете получить доступ к каждой конфигурации с помощью выпадающего меню рядом с кнопкой «Плюс» (рис. 2.1.1).
Рис. 2.1.1. Доступ к конфигурации порта
При запуске программы или при смене номера COM-порта производится эксклюзивное открытие порта с заданным номером. В случае успешной инициализации COM-порта в строке состояний отобразится сообщение и COM-порт не будет доступен другим приложениям. Изменение параметров связи (скорость в бодах, биты данных и т.д.) осуществляется по кнопке «Изменение конфигурации» (рис. 2.1.1).
Рис. 2.1.2. Параметры COM-порта
Если данные передаются через линию RS-485 последовательного интерфейса, необходимо отметить, что используется этот режим. В этом случае данные получают через RTS-линию, они могут быть менее качественными. В полученных данных могут быть ошибки, вызванные различными причинами (например, плохим качеством линии связи). Вы можете указать, что не надо получать все данные, когда обнаруживаются ошибки передачи, и необходимо чистить буфер.
Проверка режима состояния линии
API-связь Windows располагает двумя методами проверки полученных данных и изменения состояния линии/модема: API-сигналы и слово состояния. Слово состояния поддерживается драйвером связи Windows. Когда данные получены или произошло изменение состояния линии/модема, драйвер устанавливает биты в режим слова состояния. Приложение может проверить биты для того, чтобы обнаружить какие-либо происшествия в линии связи. В этом случае приложение может подать соответствующий сигнал API, чтобы очистить слово состояния и восстановить данные или новые значения состояния линии/модема.
Также Windows предусматривает сигналы API для того, чтобы получить информацию состояния, которую получает слово состояния, но сигналы API — медленнее. Advanced Serial Data Logger по умолчанию использует слово состояния для обеспечения наискорейшего выполнения заданий. К сожалению, существует, по меньшей мере, один драйвер связи (WRPI.DRV для некоторых американских модемов Робототехники), который, кажется, не поддерживает слово состояния. Для этого и подобных ему драйверов, выберите другой режим до того, как Advanced Serial Data Logger получит данные.
Чтобы повысить адекватность передаваемых данных, вы можете использовать аппаратный и/или программный контроль передачи данных (рис. 2.1.3). При применении аппаратного контроля передачи данных используются некоторые провода соединяющего кабеля. В зависимости от используемых линий, вы должны установить метки около соответствующих полей.
Аппаратный контроль передачи данных
Когда настройки аппаратного контроля передачи данных пусты, это устанавливается по умолчанию, аппаратный контроль не осуществляется. Настройки могут комбинироваться для включения аппаратного контроля.
«Контроль получения данных» останавливает передачу удаленного устройства, когда входной буфер переполнен. «Контроль передачи данных» останавливает передачу Вашего устройства, когда переполнен входной буфер удаленного устройства.
Контроль получения данных запускается включением «Использовать RTS» и/или «Использовать DTR» элементов в настройках. Когда данная возможность работает, соответствующие модемные сигналы управления (RTS и/или DTR) приостанавливаются, когда объем входной информации достигает 90% буфера. Удаленное устройство должно распознать эти сигналы и прекратить отправку данных, пока они находятся в низком состоянии.
Когда приложения получат символы, буферное использование в итоге снизится и составит не более 10% размера буфера. В этот момент соответствующие модемные сигналы управления возобновляются. Удаленное устройство должно распознать эти сигналы и возобновить отправку данных.
Контроль передачи данных запускается включением «Необходимо CTS» и/или «Необходимо DSR» элементов в настройках. С одним или двумя этими допускаемыми вариантами драйвер связи Windows не передает данные, если удаленное устройство не обеспечивает соответствующий модемный сигнал состояния (CTS и/или DSR). Удаленное устройство должно возобновлять и прекращать подачу этих сигналов, когда необходимо управлять потоком переданных символов.
Обратите внимание, что контроль передачи данных с использованием RTS и CTS более распространен, нежели контроль передачи данных с использованием DTR и DSR.
Программный контроль передачи данных
Эта подпрограмма включает один или оба аспекта автоматического программного контроля передачи данных, основанных на значении, рассматриваемом как свойство.
«Контроль получения данных» останавливает передачу удаленного устройства, когда входной буфер переполнен. «Контроль передачи данных» останавливает передачу Вашего устройства, когда переполнен входной буфер удаленного устройства.
Контроль получения данных включается установкой «На прием» или «Оба» в свойстве «Тип». Если включен данный контроль, символы Xoff посылают, когда объем входной информации достигает 10 % размера буфера. Удаленное устройство должно распознать этот сигнал и прекратить отправку данных после его получения.
Когда приложения получат символы, буферное использование в итоге снизится и составит не более 10% размера буфера. В этот момент вновь отправляются символы Xon. Удаленное устройство должно распознать эти сигналы и возобновить отправку данных.
Контроль передачи данных включается установкой «На передачу» или «Оба» в свойстве «Тип». 10% и 90% буфера не используются в этом случае. Когда включен контроль передачи данных, драйвер связи прекращает передачу всякий раз, когда получает сигнал Xoff. Драйвер не возобновляет передачу данных, пока не получит символы Xon или пока пользователь не выберет свойство «Нет’.
Программный контроль передачи данных может быть установлен на получение данных, их передачу или на оба этих режима, но для того, чтобы для отправки данных не требовалось большого количества устройств, выберите только режим контроля «На получение». В случае активации контроля передачи данных удаленное устройство (в нашем случае — Ваше устройство) может отправить специальные коды, сигнализирующие о прекращении или начале передачи данных. По умолчанию, полученный с устройства шестнадцатеричный символ 0x11 сигнализирует драйверу COM-порта о начале получения данных, и шестнадцатеричный символ 0x13 — об окончании получения данных с устройства.
Рис. 2.1.3 Контроль передачи данных
Размер вх./исх. буфера — позволяет задать размер внутреннего буфера программы. Некоторые драйвера COM порта могут не поддерживать размер буфера по умолчанию. В этом случае нужно установить меньший размер буфера.
В этом режиме программа Advanced Serial Data Logger не отправляет и не получает никакие данные, а только отслеживает изменения данных, сделанные другими программами.
Для того чтобы отследить полученные и отправленные данные открывают COM-порт перед запуском конкретной программы. Если данная программа получает данные через COM-порт, изменение данных будет отражаться в окне вывода данных — для этого необходимо включение настройки «Режим слежения».
Для того чтобы выйти из Advanced Serial Data Logger, закройте вторую программу или прекратите изменение данных через COM-порт в ней.
Вы должны закрыть приложение, чье изменение данных Вы отслеживаете, ДО закрытия Advanced Serial Data Logger.
Ошибки передачи данных
В процессе обмена данными могут возникнуть ошибки связи, которые отобразятся в строке состояния главного окна программы.
Ошибка четности получателя UART (UART receiver parity error) — происходит, если вы сконфигурировали недопустимый тип четности;
Переполненный получатель UART (UART receiver overrun),
Ошибка кадра в приемнике UART (UART receiver framing error) — происходит, если вы сконфигурировали недопустимое число стоповых битов;
Ошибка ожидания сигнала CTS (transmit timeout waiting for CTS),
Ошибка ожидания сигнала DSR (transmit timeout waiting for DSR),
Ошибка ожидания сигнала RLSD (transmit timeout waiting for RLSD) — происходит, если вы сконфигурировали недопустимый аппаратный контроль передачи данных или кабель Вашего последовательного интерфейса не подключен для аппаратного контроля передачи данных;
Буфер передачи полон (transmit queue is full) — происходит, если Advanced Serial Data Logger не может отправить данные удаленному устройству;
Принят сигнал break (break condition received)
Вы также можете настроить программу на автоматическую инициализацию последовательного интерфейса в указанное время. На некоторых операционных системах типа Windows NT это требуется для того, чтобы предотвратить остановку сбора данных. Пожалуйста, используйте закладку «Прочее->Перезапуск порта» в конфигурации порта.
Copyright © 1999-2019, AGG Software.
All rights reserved.
Источник