Функция возвращает наибольший из номеров
nMaxCom - номер последовательного порта с максимальным номером в
диапазоне от 1 до 4.
Описание
Функция возвращает наибольший из номеров доступных последовательных
портов, а не количество доступных портов. Возвращенное значение 3 не
означает, что доступны 3 порта - порт 2, например, может быть исключен
из числа доступных. Для определения возможности использования
последовательного порта следует проверять результаты, возвращаемые
функциями COM_OPEN() или COM_INIT().
До вызова данной функции для сканирования портов используются адреса,
описанные во Введении к данной главе. Однако эти базовые адреса могут
быть изменены функцией COM_SETIO().
Внимание!
Функция распознает наличие установленных портов по базовым адресам.
Если, например, компьютер имеет встроенный ArcNet-адаптер, то это
может привести к конфликту адресов ввода/вывода. Обращение прикладной
программы по адресу 02EAh как к последовательному порту, который по
управлению отличается от ArcNet-адаптера, может нарушить существующие
сетевые связи. В таких случаях может помочь вызов функции COM_SETIO()
с заданием 0 в качестве адреса ввода/вывода:
COM_SETIO(<nComPort>,0)
После выполнения этого вызова во внутренней таблице будут уничтожены
соответствующие стандартные адреса и конфликтующие аппаратные средства
будут защищены от доступа со стороны CT II-функций. Однако это
возможно лишь при условии, что функция COM_NUM() еще не вызывалась,
поскольку иначе порт будет уже помечен как используемый ("in use").
Примеры
. Определение числа портов по стандартным адресам:
? COM_NUM() // Например, 4
. Задание нестандартных адресов:
COM_SETIO(3, "110") // Порт 3, 110h
COM_SETIO(4, "120") // Порт 4, 120h
? COM_NUM() // 4