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

 
 
> <AT+CIICR> + <RING> + <SIM300C> = ГЛЮК, Модем странно себя ведёт
david_off
сообщение Nov 4 2008, 18:18
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 37
Регистрация: 15-10-08
Из: Одесса, Украина
Пользователь №: 40 978



В своем посте "Краткий курс по TCP/IP" я писал про три чудо команды AT+CSTT, AT+CIICR, AT+CIFSF и про глючно работающую AT+CIPSHUT.

На горьком опыте убедился, что одна из чудо команд так же имеет особенность. Заметил, что если после посылки AT+CIICR поступает входящий звонок, то модем:
1) в упор отказывается присылать ответ на AT+CIICR, пока есть входящий звонок
2) пока есть входящий звонок - лезут сообщения RING, а любые команды посылаемые модему игнорируются.

Получается, что если кто-то дозвонился после посылки команды AT+CIICR и до приёма ответа на эту команду - то надо ждать пока на той стороне положат трубку. На нашей стороне нельзя ни отклонить ни принять звонок.

Отдалённо я понимаю, что эти модемы не мультизадачны, но должен же быть какой-то выход из этой ситуации?
Может хотя бы можно поставить ограничение на количество RING, после которых, если трубка не снимается, то модем сам выполняет ATH. Это конечно не решает проблему, но хотя бы сокращает время "зависания" модема.


Для лучшего понимания приведу лог. Лог реальный! CTRL+C, CTRL+V из окна терминала (кроме коментов кончено):

AT+CSTT="WWW.UMC.UA"
OK
AT+CIICR
RING
RING //в этот момент посылаю ATH первый раз
RING //в этот момент посылаю ATH второй раз
RING
RING
RING
NO CARRIER //положил на другой стороне трубку
+PDP: DEACT //модем ожил и вспомнил, что выполняет команду CIICR
ATH //получаю эхо на посланную первый раз ATH
ERROR //ответ на первый ATH
ATH //получаю эхо на посланную второй раз ATH
OK //ответ на второй ATH

Сообщение отредактировал david_off - Nov 4 2008, 19:00
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
david_off
сообщение Nov 4 2008, 19:29
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 37
Регистрация: 15-10-08
Из: Одесса, Украина
Пользователь №: 40 978



Тихо сам с собой веду беседу...
Нашёл регистр S7. В нём хранится значение в секундах, которое вызывающий модуль будет ждать до установления связи. По его истечению он перестаёт пытаться дозвонится и выдаёт команду NO ANSWER. Штука почти что надо, только она не совсем корректно работает при разной нагрузке на сеть.
Если бы найти что-то подобное для случая, когда поступает входящий звонок и можно регулировать время приёма сообщений RING до автоматической посылки команды ATH, то было бы лучше.

Сообщение отредактировал david_off - Nov 4 2008, 19:30
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 04:16
Рейтинг@Mail.ru


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