Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Открытие COM-порта при использовании переходника USB-COM [D7, WinXP]


Alex_C ©   (2008-12-09 16:05:00) 

Собственно такая проблема:
есть ноут без ком-портов. Использую переходник USB-COM - все отлично работает. Подцепил между ноутом и переходником USB-COM USB-хаб, чтоб несколько устройств можно было одновременно подключить. Программа виснет на открытии ком-порта
hPort := CreateFile(PChar(Port), GENERIC_READ + GENERIC_WRITE,
           0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

Поробовал другую программу - работает. В чем может быть причина?


kulibin   (2009-01-10 21:08:00) [1]

У тебя просто номер порта каждый раз меняется (в диспетчере устройств посмотри)


tesseract   (2008-12-11 15:19:00) [2]


> С микросхемой FT232BM у нас никогда ещё проблем не было.


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


Германн   (2008-12-11 01:20:00) [3]


> tesseract ©   (10.12.08 14:14) [9]

С микросхемой FT232BM у нас никогда ещё проблем не было.


tesseract   (2008-12-10 14:14:00) [4]


> Итог такой: USB-hub по ходу неккоректно работает с переходниками
> USB-COM. Как исправить - даже не представляю.


С переходниками USB-COM вечный гемморой, ETHERNET-RS232 работает в разы стабильнее. Такое ощущение, что там драйверы выпускники наших ПТУ пишут.


Alex_C   (2008-12-10 14:00:00) [5]

Сегодня разбирался далее. Разобрался, но легче от этого не стало :)
1. Виснет точно на CreateFile - до и после этого оператора ставил MessageBox - тот, что после не появлялся. Плюс окружал CreateFile try...except - на except тоже MessageBox не появлялось.
2. Виснет не постояннно, то пару раз нормально, то пару раз зависает.
3. Замечено следущее: если в программе ОТКРЫВАЕШЬ ком- порт, виснет не намертво, а секунд на 30-50, затем идет дальше и нормально работает. А если в программе пытаешься ПЕРЕОТКРЫТЬ порт (CloseHandle - CreateFile) - вот тогда виснат уже насовсем. Пробовал ставить Sleep(2000) перед CreateFile - не помогает.
Итог такой: USB-hub по ходу неккоректно работает с переходниками USB-COM. Как исправить - даже не представляю.


Сергей М.   (2008-12-10 10:15:00) [6]


> Никакого сообщения нет


Значит эта строчка ни причем.
А на основании чего ты вообще сделал умозаключение, что вис происходит именно на этой строчке ?
Какие-то отладочные рантайм-сообщения выводил до и после вызова CreateFile или что ?


Германн   (2008-12-10 01:09:00) [7]


> Alex_C   (09.12.08 22:49) [4]
>
> Блин! Нифига не понимаю! Никакого сообщения нет. Иногда
> это проходит, а иногда виснет. Закономерности не понял.
> Убираю USB-хаб - все нормально. Однако пробую родную программу
> упарвления - работает. Выходит у меня где-то есть какой
> то не тот параметр...
>

Задержки, имхо. Родная программа их учитывает, твоя - нет.


Loginov Dmitry   (2008-12-09 23:14:00) [8]

> Однако пробую родную программу упарвления - работает. Выходит
> у меня где-то есть какой то не тот параметр...


В HyperTerminal'е порт открывается? Без проблем?


Alex_C   (2008-12-09 22:49:00) [9]

Блин! Нифига не понимаю! Никакого сообщения нет. Иногда это проходит, а иногда виснет. Закономерности не понял. Убираю USB-хаб - все нормально. Однако пробую родную программу упарвления - работает. Выходит у меня где-то есть какой то не тот параметр...


Сергей М.   (2008-12-09 16:44:00) [10]

hPort := CreateFile(..);
Win32Check(hPort <> INVALID_HANDLE_VALUE);

Сообщение видишь ?


Alex_C   (2008-12-09 16:32:00) [11]

В основном.
Причем пытался Дельфей отловить при пошаговом исполнении - все нормально проходит, ничего не виснет.


Сергей М.   (2008-12-09 16:13:00) [12]

В каком потоке происходят эти чудеса ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо