Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить, подключено ли устройство к COM 
:(
    Опции темы
Bitter
Дата 24.5.2007, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

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



Есть устройство, которое в нормальном режиме ничего в порт не посылает. Как узнать подключено ли оно к КОМ порту? Может как-то по питанию? Или по другим признакам. 

Спасибо
PM MAIL ICQ Skype   Вверх
dumb
Дата 25.5.2007, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(Bitter @  24.5.2007,  23:53 Найти цитируемый пост)
в нормальном режиме ничего в порт не посылает

ввести его в ненормальный режим и заставить ответить. иначе - никак.
PM MAIL   Вверх
Bitter
Дата 25.5.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

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



Ввести его в ненормальный режим не возможно. Это пожарный датчик.

Но ведь есть же в последовательном порте понятие MARK. Это когда на линни присутствует логическая единица. В этом состоянии линия находится всегда, кроме момента передачи данных. Кроме того, это состояние отстутсвует, если нет соединения с устройством. Значит его можно проверить. Но как? Кто-нить знает?
PM MAIL ICQ Skype   Вверх
cardinal
Дата 25.5.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Bitter, сделай маленькое промежуточное устройство (стоимостью в 300 рублей) и контролируй им связь =)


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Bitter
Дата 26.5.2007, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

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



Ну что вы такое говорите? какое промежуточное устройство? Я про программирование спрашиваю, блин. У меня задание такое.

Вот, может я сейчас глупость скажу, так как я в СОМ портах еще ничего не понимаю, но есть такая функция как SetCommMask, которая указывает на какие события нужно реагировать. Среди этих событий есть событие EV_BREAK, которое возникает при разрыве связи с устройством.
Следовательно, по его возникновению можно судить о том, что устройство не подключено. Проверить наличие этого события можно функцией WaitForSingleObject, но проблема в том, что я не знаю как ей пользоваться. Подскажите пожалуйста.

Добавлено через 6 минут и 37 секунд
Хочу добавить: тут даже дело не в том как ей пользоваться, это ж функция - бери и пользуйся, а в том, как организовать сам принцип работы алгоритма опроса датчика. Вот, допустим, его нужно опрашивать 10 раз в секунду, во время опроса необходимо выяснить: подключено ли устройство (то есть нет ли разрыва соединения), далше наличие сообщений в буфере, ну и ещё обработать всё это. Вот начиная со слова "дальше" я могу выполнить, а вот до него не пойму как. Ведь функция WaitForSingleObject останавливает работу программы пока не прийдет сообщение. Или нет? Прошу помощи именно профессионалов. Не советуйте подключить дополнительное устройство за 300 рублей. Спасибо
PM MAIL ICQ Skype   Вверх
cardinal
Дата 26.5.2007, 03:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Посмотри вот тут, думаю поможет в решении проблемы (там тем более несколько вариантов)
http://forum.developing.ru/archive/index.php/t-9238.html
Я бы запускал для обработки отдельный поток... (опять же см. ссылка)


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




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


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

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