Не получается открыть 21й COM порт

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
virov
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 01.08.2007 (Ср) 14:15

Не получается открыть 21й COM порт

Сообщение virov » 21.10.2009 (Ср) 13:45

Подключил USB-COM адаптер, определился как COM21. Запустил HyperTerminal, выбрал порт - порт открылся, данные пошли, короче всё ОК. Делаю на VB h=ReadFile("COM21",... а получаю h=INVALID_HANDLE_VALUE, поставил контрол, выставил 21 номер порта, ошибка неправильный номер порта. Полез в настройки, изменил номер порта на 2й, ReadFile заработал. Вопрос. Что я делаю не так? И каким способом HyperTerminal открывает СОМ порты?

NashRus
Постоялец
Постоялец
 
Сообщения: 388
Зарегистрирован: 18.03.2006 (Сб) 1:16

Re: Не получается открыть 21й COM порт

Сообщение NashRus » 21.10.2009 (Ср) 21:54

MSComm не поддерживает выше 16 порта.
\\.\COM21 надо в ReadFile (CreateFile).

virov
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 01.08.2007 (Ср) 14:15

Re: Не получается открыть 21й COM порт

Сообщение virov » 22.10.2009 (Чт) 8:06

Спасибо, помогло. Я пол дня потерял и в конечном счете переименовал порт. Значит всё дело в имени порта,т.е. должно быть h=CreateFile("\\.\COM21",... Тогда у меня вопрос. Почему требуется перед названием "COM21" дописывать "\\.\"?
p.s.
В первом сообщении опечатка: "ReadFile" следует читать как "CreateFile"

NashRus
Постоялец
Постоялец
 
Сообщения: 388
Зарегистрирован: 18.03.2006 (Сб) 1:16

Re: Не получается открыть 21й COM порт

Сообщение NashRus » 22.10.2009 (Чт) 9:31

Ну вот так устроено обращение к устройствам.
Видно, что это напоминает URI для локальной машины.
Чтобы не заморачиваться, можно и COM1 открывать таким же образом, по крайней мере видимо, на Win2000+.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 92

    TopList