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

 
 
> Вопрос по USB CDC
andrewlekar
сообщение Nov 16 2012, 08:10
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Сейчас у нас штатно используется COM порт таким образом: софт открывает порт и общается с железом. Если железка перезапускается или просто физически выткнута из порта и воткнута обратно, то ничего страшного не происходит - обмен продолжается с момента подключения железки обратно.
Теперь хотим перетащить железку на USB, сделали USB CDC - всё работает прекрасно. Но если железку рестартануть, то она не может создать уже открытый в софте порт и обмена не происходит. Неужели USB CDC не предназначен для работы в таких условиях? Сделать что-то можно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andrewlekar
сообщение Nov 16 2012, 08:58
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Ну USB у нас как дополнительный функционал - не основной. Всё же хочется, чтобы пусть и не сильно надёжно, но хотя бы идентично стандартному COM порту работало.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 16 2012, 10:17
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Полагаю, система должна как-то сообщать программе, что открытый порт отвалился. Вашему программисту надо обработать эту ситуацию и после получения такого сигнала закрыть и пытаться открыть порт снова. При работе с железными портами такая ситуация просто не будет возникать.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 23:00
Рейтинг@Mail.ru


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