![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: нет Всего: 27 |
Есть устройство, которое в нормальном режиме ничего в порт не посылает. Как узнать подключено ли оно к КОМ порту? Может как-то по питанию? Или по другим признакам.
Спасибо |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
||||
|
||||
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: нет Всего: 27 |
Ввести его в ненормальный режим не возможно. Это пожарный датчик.
Но ведь есть же в последовательном порте понятие MARK. Это когда на линни присутствует логическая единица. В этом состоянии линия находится всегда, кроме момента передачи данных. Кроме того, это состояние отстутсвует, если нет соединения с устройством. Значит его можно проверить. Но как? Кто-нить знает? |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Bitter, сделай маленькое промежуточное устройство (стоимостью в 300 рублей) и контролируй им связь =)
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: нет Всего: 27 |
Ну что вы такое говорите? какое промежуточное устройство? Я про программирование спрашиваю, блин. У меня задание такое.
Вот, может я сейчас глупость скажу, так как я в СОМ портах еще ничего не понимаю, но есть такая функция как SetCommMask, которая указывает на какие события нужно реагировать. Среди этих событий есть событие EV_BREAK, которое возникает при разрыве связи с устройством. Следовательно, по его возникновению можно судить о том, что устройство не подключено. Проверить наличие этого события можно функцией WaitForSingleObject, но проблема в том, что я не знаю как ей пользоваться. Подскажите пожалуйста. Добавлено через 6 минут и 37 секунд Хочу добавить: тут даже дело не в том как ей пользоваться, это ж функция - бери и пользуйся, а в том, как организовать сам принцип работы алгоритма опроса датчика. Вот, допустим, его нужно опрашивать 10 раз в секунду, во время опроса необходимо выяснить: подключено ли устройство (то есть нет ли разрыва соединения), далше наличие сообщений в буфере, ну и ещё обработать всё это. Вот начиная со слова "дальше" я могу выполнить, а вот до него не пойму как. Ведь функция WaitForSingleObject останавливает работу программы пока не прийдет сообщение. Или нет? Прошу помощи именно профессионалов. Не советуйте подключить дополнительное устройство за 300 рублей. Спасибо |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Посмотри вот тут, думаю поможет в решении проблемы (там тем более несколько вариантов)
http://forum.developing.ru/archive/index.php/t-9238.html Я бы запускал для обработки отдельный поток... (опять же см. ссылка) -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |