реклама на сайте
подробности

 
 
> Отсоединение ft232bm во время работы программы
plan
сообщение Dec 23 2005, 10:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599



Привет ВСЕМ! Есть проблема с преобразователем usb-com. Проблема возникает когда программа с девайсом работает как с ком портом ,а девайс выдергивают из компьютера.Тогда комп начинает тормозить,и может даже зависнуть если не убить процесс программы.Эта проблема проявляется не только с чипом ft232bm ,но и с pl2303hx.А вот с cp2102 таких проблем нет.Подскажите плиз как вылечить эту проблему.Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Dec 28 2005, 07:53
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Цитата(khach @ Dec 27 2005, 14:07) *
Проблема с передергиванием ФТДИшек существует. Давайте решать вместе.
Т.к зависает приложение, то позволю спросить- как у вас происходит общение с ком-портом:
пуллинг или евенты? Исполь зуеться ли отдельный поток для приема из порта? Вываливаетесь ли по таймауту или остаетесь в вечном цикле? Чему равен дескриптор (хендл) порта после "вываливания"?
Мы используем CPort3 by Dejan Crnila. Валиться одинаково хорошо как с FTDI, так и с Prolific.
Интересно вообще, как с точки зрения программы корректно обрабатывать состояние "потери" порта?
С терминалами проще- они обычно непрерывно "пулят" состояние порта, забирая все байты, что окажутся во входном буффере. Попутно обрабатывая все ошибки. Если же обмен идет по событиям ( например прием пакета с ожиданиме символа 00 или CR как признака конца пакета) то возврата по таймауту непроисходит. Похоже, что хендл после отваливания порта становиться равен -1 и каллбек евента никогда невызываеться.

Проблемы у Вас в криво написанной библиотеке для работы с комами. Драйвера и ОС тут не причем. Если либу не можете написать сами - юзайте for ex. от мохи или commoncpp - в частности перед aRead без суеты вызываем isPending(pendingError) и будет Вам счастье ...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- plan   Отсоединение ft232bm во время работы программы   Dec 23 2005, 10:55
- - IV_K   драйвер похоже кривой. при пользовании стандартног...   Dec 26 2005, 16:44
- - plan   Так получается проблема существует,а все молчат.На...   Dec 27 2005, 05:54
- - Aleks17   А не пробовали при работе с портом timeout-ы задав...   Dec 27 2005, 06:42
- - plan   Проблема ведь не с тайм-аутами , а с тем что порт ...   Dec 27 2005, 07:07
- - zltigo   Цитата(plan @ Dec 27 2005, 07:54) Так пол...   Dec 27 2005, 08:45
- - plan   Приходиться прибивать приложение,но реакция систем...   Dec 27 2005, 08:59
- - zltigo   Цитата(plan @ Dec 27 2005, 10:59) Подскаж...   Dec 27 2005, 09:46
- - khach   Проблема с передергиванием ФТДИшек существует. Дав...   Dec 27 2005, 12:07
- - plan   Я пользуюсь компонентой ASYNC TMS32 .И на сколько...   Dec 28 2005, 06:26
- - khach   Обычно для опроса состояния порта используеться фу...   Dec 28 2005, 11:35
- - plan   У меня получилось победить фтди. Я при операциях с...   Dec 28 2005, 12:00
- - Harbour   Цитата(khach @ Dec 28 2005, 13:35) Обычно...   Dec 28 2005, 15:11


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 07:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.02373 секунд с 7
ELECTRONIX ©2004-2016