![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Unregistered |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2004 Репутация: нет Всего: нет |
Всем привет.
Пишу программу по работе с gsm-модемами. Сейчас порт настраивается вручную посредством встроенного диалога, а хочется сделать автодетект модема (модемов). Подскажите, как это лучше реализовать? Собственно, все сводиться к правильному подбору структуры DCB. Но там ведь куча вариантов получается, и все их перебирать - как-то долго. Может есть альтернатива? Спасибо. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Может просто заслать в порт 'ATI0'#13#10 ?
Если есть ответ - там модем... Добавлено @ 09:22 К тому же зачем детектить? Это уже сделала винда. Можно просто посмотреть в реестре. Модема нет, поэтому точно не скажу где. Где-то в HKEY_LOCAL_MACHINE\HARDWARE наверное. |
|||
|
||||
Unregistered |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2004 Репутация: нет Всего: нет |
Спасибо, что откликнулись.
Ответа не будет, если скорость обмена модема <> скорости обмена порта. Потому схема у меня такая сейчас: настраиваю TDCB, потом засылаю "ATI", есть ответ-можно считать что определили, нет ответа (таймаут) - настраиваем TDCB подругому и т.д. Имхо, кроме правильной скорости обмена надо еще и стоповые биты правильно указать. Еще есть количество бит в слове, т.е. если модем настроен на 7 бит, а порт на 8 - получим ерунду. Драйвер может быть не установлен, да он в моем случае и не нужен. |
|||
|
||||
Unregistered |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2004 Репутация: нет Всего: нет |
Поэкспериментировал с терминалом, и вот что получилось:
количество стоповых бит не влияет на то, ответит модем или нет, количество бит данных - влияет. четность-влияет. Интересная ситуация с простым модемом (не gsm): если скорость порта компьютера<скорости порта модема - модем нормально отвечает, если > - нет. Вывод: полноценный автодетект не получиться. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
любой модем те ответит со скоростью 9600 8+1
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
Unregistered |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2004 Репутация: нет Всего: нет |
Romikgy, любой не ответит. siemens mc75-t по крайней мере.
Snowy, дык я что говорил? Правильно настроить DCB. Тока вопрос, как эту настройку эффективней произвести (не перебором возможных вариантов) |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Имхо 9600 это стандарт и ответить должен любой -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Для детекта модема переведи порт на 2400 и попробуй разные варианты параметров.
Потом верни обратно и попробуй с другим портом... Лучше процедуру детекта вынести в отдельный тред. Результаты поиска сохранять, чтобы при следующем запуске в первую очередь проверять тот порт, на котором раньше уже было что-то найдено. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |