Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];

Вниз

Открытие COM-порта при использовании переходника USB-COM   Найти похожие ветки 

 
Alex_C   (2008-12-09 16:05) [0]

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

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


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

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


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

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


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

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

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


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

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


 
Loginov Dmitry ©   (2008-12-09 23:14) [5]

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


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


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


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

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


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


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


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


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

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


 
tesseract ©   (2008-12-10 14:14) [9]


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


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


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


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

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


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


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


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


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

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



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.005 c
1-1240160543
Cobalt
2009-04-19 21:02
2010.03.21
Отчего ошибка при сравнении Variant?


2-1263924681
Б
2010-01-19 21:11
2010.03.21
Сколько различных символов содержит строка.


6-1214573401
Галинка
2008-06-27 17:30
2010.03.21
как передать строку в сокет?


2-1263821072
Андрей Пл
2010-01-18 16:24
2010.03.21
TDBGrid при Requery смещаються отображаемые записи.


15-1262122484
Dmytry2010
2009-12-30 00:34
2010.03.21
Работа с сокетами TCP на Pascale под MS DOS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский