Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB <-> VCP коллизия
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Александр К
Всех приветствую. Возникла такая ситуация. Есть микроконтроллер, который соединён с компом через USB-СОМ конвертер (FT232RL). На компе под WinXP(или Win98) установлен родной VCP. Основная программа непрерывно общается с микроконтроллером как через СОМ порт. Всё ОК. НО как только "нечайно" выдернут кабель USB, в системе этот виртуальный СОМ порт пропадает, основная программа затыкается и т.д. Все возобновить можно только резетом. В связи с этим, возник вопрос: есть ли какие-то методы/фикции/процедуру чтобы отслеживать пропадание СОМ порта (виртуального), а по его появлению возобновлять обмен. Програмлю под Делфу. Какие у кого есть решения по этому вопросу, плз поделитесь. help.gif
Седой
Цитата
В связи с этим, возник вопрос: есть ли какие-то методы/фикции/процедуру чтобы отслеживать пропадание СОМ порта (виртуального), а по его появлению возобновлять обмен.


Есть, см.
http://msdn.microsoft.com/library/default....f231559.xml.asp

используйте обработку сообщений WM_DEVICECHANGE с wParam равным DBT_DEVICEREMOVECOMPLETE и DBT_DEVICEARRIVAL , см.
http://msdn.microsoft.com/library/default....event_types.asp
VDG
Цитата(Александр К @ Nov 6 2006, 00:48) *
Всех приветствую. Возникла такая ситуация. Есть микроконтроллер, который соединён с компом через USB-СОМ конвертер (FT232RL). На компе под WinXP(или Win98) установлен родной VCP. Основная программа непрерывно общается с микроконтроллером как через СОМ порт. Всё ОК. НО как только "нечайно" выдернут кабель USB, в системе этот виртуальный СОМ порт пропадает, основная программа затыкается и т.д. Все возобновить можно только резетом. В связи с этим, возник вопрос: есть ли какие-то методы/фикции/процедуру чтобы отслеживать пропадание СОМ порта (виртуального), а по его появлению возобновлять обмен. Програмлю под Делфу. Какие у кого есть решения по этому вопросу, плз поделитесь. help.gif

Знакомая проблема, знакома и мне и обсуждалось много раз. Дело в дровах FTDI. Спасает только перезагрузка.
Александр К
Цитата(VDG @ Nov 9 2006, 02:30) *
Знакомая проблема, знакома и мне и обсуждалось много раз. Дело в дровах FTDI. Спасает только перезагрузка.


А где об этом можно поподробнее почитать.

Цитата(Седой @ Nov 8 2006, 15:09) *
Цитата
В связи с этим, возник вопрос: есть ли какие-то методы/фикции/процедуру чтобы отслеживать пропадание СОМ порта (виртуального), а по его появлению возобновлять обмен.


Есть, см.
http://msdn.microsoft.com/library/default....f231559.xml.asp

используйте обработку сообщений WM_DEVICECHANGE с wParam равным DBT_DEVICEREMOVECOMPLETE и DBT_DEVICEARRIVAL , см.
http://msdn.microsoft.com/library/default....event_types.asp


Большое спасибо за совет. smile.gif
VDG
Цитата(Александр К @ Nov 9 2006, 11:52) *
А где об этом можно поподробнее почитать.

Да здесь же на форуме в разных ветках. Ищите. Где-то и в AVR это недавно проскакивало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.