Форум: "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