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

 
 
> Есть ли классика обработки ответов от GSM модуля на стороне МК ?, Асинхронный режим, без контроля потока
vassabi
сообщение Mar 17 2013, 10:04
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678



Задался вопросом, а существует ли классический алгоритм обработки ответов модуля на стороне микроконтроллера?
Лично я пробую обрабатывать на лету:
Временный буфер (50 байт, например), он до начала приема заполнен значениями 0А, это для обработки двух-символьных ответов 30 0D и 34 0D.
Указатель - переменная на последний принятый байт в буфере, по умолчанию = 1.
В основном цикле отправляю команду в модуль и в цикле жду изменения переменной результата.
По прерыванию на UART:
- пополняю временный буфер принятым байтом (пополнение начинается не с нулевого байта, а с первого, опять же, для обработки двух-символьных ответов);
- если указатель >= 2, проверяю три последних символа буфера на соответствие маске (0A 30 0D, 0A 34 0D etc.);
- если соответствие есть - записываю в переменную результата (соответственно 30, 31, 34 etc.);
- инкрементирую указатель на последний принятый байт и опять жду прерывания.

Думал просто искать ответ во временном буфере, выдержав какую-то паузу после отправки команды в модуль, но время выполнения команд может быть очень разное...
В общем, это мой дебютный алгоритм опроса модулей, по этому и задался вопросом, а как пишут бывалые?




Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jack_avenger
сообщение Mar 22 2013, 17:41
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 30-06-05
Из: Киев
Пользователь №: 6 426



Цитата(zebrox @ Mar 22 2013, 20:31) *
Окончательная мысль в том, что получаем все строки от модема, те которые нас не интереуют в данный момнет, пропускаем мимо "ушей").
ЮРЦ нас инересуют всегда и везде, но только те которые нас интересуют.

А как Вы обрабатываете ситуацию когда URC приходит непосредственно перед отправкой команды модему?
Go to the top of the page
 
+Quote Post
zebrox
сообщение Mar 22 2013, 18:09
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 17-04-09
Пользователь №: 47 838



Цитата(jack_avenger @ Mar 22 2013, 20:41) *
А как Вы обрабатываете ситуацию когда URC приходит непосредственно перед отправкой команды модему?


Для этого, этого использую контроль потока.
Процессок, перед проходом по "отправляющим" функциям, выставляет сигнал РТЦ.
После выхода, убирает.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vassabi   Есть ли классика обработки ответов от GSM модуля на стороне МК ?   Mar 17 2013, 10:04
- - kan35   Я сделал структуру для ответа с собственно массиво...   Mar 17 2013, 12:31
- - vassabi   ЦитатаОтсекая строки по 0D 0A... Так не все же отв...   Mar 17 2013, 13:06
|- - kan35   Цитата(vassabi @ Mar 17 2013, 17:06) Так ...   Mar 17 2013, 18:00
- - andrewlekar   Классики нет, особенно если требуется принимать да...   Mar 17 2013, 13:26
- - AlexandrY   Цитата(vassabi @ Mar 17 2013, 12:04) В об...   Mar 17 2013, 13:47
|- - x893   Цитата(AlexandrY @ Mar 17 2013, 17:47) Пр...   Mar 17 2013, 14:27
|- - AlexandrY   Цитата(x893 @ Mar 17 2013, 16:27) Не выго...   Mar 17 2013, 18:25
|- - kan35   Цитата(AlexandrY @ Mar 17 2013, 22:25) DM...   Mar 17 2013, 19:03
- - vassabi   Цитата("AlexandrY")...записываются симво...   Mar 17 2013, 20:30
- - jack_avenger   Цитата(kan35 @ Mar 17 2013, 15:31) Я сдел...   Mar 17 2013, 23:00
- - vassabi   Цитата("vassabi")Очень круто, но я так п...   Mar 18 2013, 00:34
- - GeGeL   И после всего этого еще ругают OCPU, EAT etc. На...   Mar 18 2013, 19:49
|- - Aurochs   Цитата(GeGeL @ Mar 18 2013, 21:49) И посл...   Mar 18 2013, 22:19
|- - stepper88   Недавно соорудил управление Quectel M10 аналогии с...   Mar 22 2013, 09:13
|- - _Артём_   Цитата(stepper88 @ Mar 22 2013, 11:13) Но...   Mar 22 2013, 11:17
- - jack_avenger   Цитата(GeGeL @ Mar 18 2013, 22:49) И посл...   Mar 18 2013, 20:12
- - zebrox   Думаю "отлов" это единственно правильный...   Mar 22 2013, 12:09
|- - megajohn   делаю всё как AlexandrY но с некоторыми отличиями:...   Mar 22 2013, 14:13
|- - _Артём_   Цитата(zebrox @ Mar 22 2013, 14:09) Думаю...   Mar 22 2013, 14:35
- - jack_avenger   Думаю что речь не идет о 100% парсинге, а только о...   Mar 22 2013, 14:44
|- - stepper88   to megajohn А как у вас построенна эта обработка а...   Mar 22 2013, 15:07
|- - vassabi   Цитата(stepper88 @ Mar 22 2013, 17:07) .....   Mar 22 2013, 15:15
|- - stepper88   Цитата(vassabi @ Mar 22 2013, 21:15) А за...   Mar 22 2013, 17:03
- - jack_avenger   Цитата(stepper88 @ Mar 22 2013, 18:07) to...   Mar 22 2013, 15:28
- - zebrox   Ловить надо только то, что нас интересует. В том ...   Mar 22 2013, 16:32
- - jack_avenger   Цитата(zebrox @ Mar 22 2013, 15:09) Думаю...   Mar 22 2013, 17:00
|- - zebrox   Цитата(jack_avenger @ Mar 22 2013, 20:00)...   Mar 22 2013, 17:31
|- - vassabi   Цитата(zebrox)... выставляет сигнал РТЦ. После вых...   Mar 22 2013, 18:13
- - zebrox   да, ртс   Mar 22 2013, 22:23
- - jack_avenger   Цитата(zebrox @ Mar 22 2013, 22:09) Для э...   Mar 23 2013, 13:18
|- - vassabi   Цитата(jack_avenger @ Mar 23 2013, 15:18)...   Mar 23 2013, 17:13
- - zebrox   Честно говоря, не совсем понимаю зачем отличать юр...   Mar 23 2013, 17:52
- - jack_avenger   Цитата(vassabi @ Mar 23 2013, 21:13) По э...   Mar 23 2013, 18:32
|- - vassabi   Цитата(jack_avenger @ Mar 23 2013, 20:32)...   Mar 23 2013, 18:44
- - zebrox   Да нет, обработчик один, на все отведы, эха, юрц. ...   Mar 23 2013, 19:55
- - jack_avenger   Цитата(vassabi @ Mar 23 2013, 22:44) Это ...   Mar 23 2013, 19:55
|- - vassabi   Цитата(jack_avenger @ Mar 23 2013, 21:55)...   Mar 23 2013, 23:44
- - jack_avenger   Цитата(vassabi @ Mar 24 2013, 03:44) GSM ...   Mar 23 2013, 23:51


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

 


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


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