Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> COM порт 
:(
    Опции темы
mullih
Дата 30.7.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 19.12.2006

Репутация: нет
Всего: 2



Всем доброго времени суток
Может кто сталкивался с такой проблемой и знает решение.
Существует устройство на виртуальном ком порту, проще COM -> USB.
SerialPort serialPort = new SerialPort("COM4");
serialPort.Open()
и идет работа с устройством

если при открытом порте вытащить USB кабель и вставить его обратно,  то, как я понимаю, windows пересоздаст устройство как новый объект. Момент отключения какого то устройства  я могу отловить. Но как определить что это именно мое устройство и после того как кабель вставить обратно не всегда получается пересоздать объект
serialPort = new SerialPort("COM4");

кидает исключения то устройство не найдено то Access denited

Может кто подкинет если не готовое решение то хотябы идею куда смотреть и что может помочь

заранее благодарен

С уважением
PM MAIL WWW Skype   Вверх
Partizan
Дата 30.7.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Цитата

как определить что это именно мое устройство 


ну наверное об этом лучше у самого устройства спросить...
ну тоесть когда устройство воткнули, задать ему вопрос "ты кто?"


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Mal Hack
Дата 30.7.2008, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



Что касается С# то тут есть проблемы, касающиеся КОМ порта.
1. TIMEOUT_STRUCTURE, который надо задавать системе C# судя по всему задает сам. По крайней мере мне с товарищем настроить это так и не удалось. А посему программа в определенных случаях будет просто отваливаться.
2. Даже в случае отключения COM порта, вы должны сгенерировать исключение и в нем закрыть handle по сути, т.к. скорее всего второй раз вы не можете создать подключение к порту, ввиду того, что у вас старое еще открыто. По крайней мере в С++ оно так, за определенной оговоркой, но в данном случае это - мелочь (оговорка).

Как показал мой опыт работы с подобной архитектурой (COM->USB), то просто так выдернуть вставить не получается. Проблема в том, что USB-то поддерживает plug&play, а система COM порты подключает при загрузке, т.е. в систему - добавляет, а инициировать для работы не может. Но это, скажем так догадка. В принципе может тут дело еще в переходнике. У вас какой?

Цитата(Partizan @  30.7.2008,  20:09 Найти цитируемый пост)
ну наверное об этом лучше у самого устройства спросить...
ну тоесть когда устройство воткнули, задать ему вопрос "ты кто?" 

ППКС, но с одним исключением. Как правило, такие в такие девайсы функции "кто я" не встраивается. Но есть какая-ть пустая команда, которой можно проверить работоспособность, т.к. формат пакета отправленного и получаемого мы знаем.
PM ICQ   Вверх
neutrino
Дата 3.8.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



"Переходник" вставляется в COM или в USB? А то не совсем понятно что имеется в виду. 


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.