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

 
 
> А может ли быть такое?..., Порядок получения ответов на AT-комманды
david_off
сообщение Oct 18 2008, 13:21
Сообщение #1


Участник
*

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



Не знает ли кто-то из местных жителей, может ли влезть какое-то сообщение между эхом и ответом на команду.

например,
1) шлю команду AT CR
2) приходит эхо <AT> CR.
3) теперь я жду подтверждения OK, а в этот момент звонит кто-то и я получаю crlf <RING> crlf crlf <OK> crlf.

От этого зависит, как обрабатывать комманды контроллером. Не очень хочется после получения эха быть готовым к сообщениям любого содержания (RING, потерял сеть и т.д.)
PS: использую модуль SIMCOM300C.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
david_off
сообщение Oct 19 2008, 13:08
Сообщение #2


Участник
*

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



В общем случае это правильно, но у меня частный случай.
Мои устройства ждут несколько секунд, пока не зарегистрируются в сети (находятся в местах гарантированного приёма сигнала). Затем поднимают GPRS сессию, получают реальные IP адреса и настраивают себя как сервер (TCP/IP стек).

Далее на них возлагается всего две функции:
1) сначала передать опрашиваюшему блоку свой IP через CSD;
2) при поступлении запроса от опрашивающего блока настроится на прозрачный режим передачи данных и обменятся информацией.

Т.е. как вы видите, на блоки практически никто не будет звонить (кроме опращивающего блока). SMS мне не нужны - могу их игнорировать. Зачем тогда программу перегружать обработчиками сообщений RING, пришло SMS и т.д.:?

Я тут думал, можно и на все возможные сообщения сделать обработку, но вот загвоздка остаётся при неконтроллируемом получении команды RING. @ARk писал, что он может влазить даже внутри эха.
Получается, что при его влазиния могут быть такие последовательности:
Для эха: <Начало эха> CRLF RING CRLF <конец эха> CR
Для ответа: CRLF<Начало ответа> CRLF RING CRLF <конец ответа> CRLF

Я обрабатывают эхо и ответы по счётчику символов CR и LF. А при таком поведении RING-a эта схема не подходит. Приходится делать какой-то сверх умный буфер, который бы мог долго накапливать даные, потом их сканировать на наличие "наглых вставок", потом вынимать их из буфера, затем только обрабатывать содержание. Это явно снизит быстродействие из-за дополнительных ожиданий "А может дальше прийдёт что-то, что потом ошибочные данные дополнит и сделает их правильными".

Мне кажется для контроллера это будет передоз! 05.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:06
Рейтинг@Mail.ru


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