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

 
 
 
Reply to this topicStart new topic
> Подскажите как можно узнать когда закончился ответ GSM модуля
man1
сообщение May 28 2008, 21:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 11-01-08
Пользователь №: 34 008



При помощи подачи AT-команд из Atmega16 конфигурирую GSM модуль от Siemens.
Модуль мне отвечает OK , Error, ^Sysstart и т.д.
Ответ модуля может иметь разную длину, как мне узнать когда он заканчивается т.е. сколько байт считывать?
Например, на подачу команды AT модуль отвечает OK, если посмотреть в ASCII дестичный код, то будет 13,10,79,75 (13-перевод курсора в начало строки, 10-переход на новую линию)
Непонятно сколько мне байт считывать?
Go to the top of the page
 
+Quote Post
*antzol*
сообщение May 28 2008, 22:39
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-11-07
Пользователь №: 32 085



А у модуля эхо случайно не включено? Возможно символы <CR><LF> перед OK это остатки возвращенной модулем вашей команды. Поэтому эхо наверно лучше выключить.
А об окончании ответа модуля можно узнавать по символу CR, идущему в конце ответа, например, ERROR<CR><LF>.
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 29 2008, 05:29
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(man1 @ May 29 2008, 00:11) *
Ответ модуля может иметь разную длину, как мне узнать когда он заканчивается т.е. сколько байт считывать?
Обычно, ответ модуля имеет вид:

<CR><LF><response><CR><LF>

т.е. если перед <CR><LF> ничего нет, то пропустить <CR><LF>, если - что-то есть, то это "что-то" ответ модуля, а <CR><LF> и будет признаком окончания ответа.

Go to the top of the page
 
+Quote Post

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

 


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


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