Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Sim900: Нет ответа после AT+CIPSEND. Почему?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
d-link-fan
Зравствуйте.
Приобрел на пробу ITEAD SIM900 GPRS/GSM minimum system module

Маркировка на корпусе
S2-1040S-Z092Z

Из себя выдает:

ATI
SIM900 R11.0
OK

AT+GMR
Revision:1137B11SIM900M64_ST
OK

Программа до этого работала на другой прошивке (и другая схемотехника).
Сейчас же появлилсь непонятные зависания.

Модуль выходит в интернет, доходит до моего сервера, они "жмут" друг другу "руки" (CIPSEND один раз выполняется нормально), затем, когда пытаюсь передать данные, не получаю ответа от модуля. По таймауту вываливаюсь на перезагрузку модуля, и опять до этой стадии.

Посылки отправляю по 8-10 байт, финализирую Ctrl+Z.
Тут подсмотрел, что они еще CRLF пихают после Ctrl+Z.
Сделал так же, стало завиать пореже, но все-таки зависает.
Иногда получается передать несколоко порций данных, но потом, все же, опять зависает.

Протокол USART контролирую снаружи Rx и Tx - через MAXы в Rx двух com портов компьютера.
При зависании до сервера не доходит (там смотрю сниффером).
Питаю 78S05.

Подскажите, пожалуйста, в какую сторну думать?

Aurochs
1. При передаче данных может просаживаться питающее напряжение и из-за этого может не быть ожидаемых реплик от модема.
2. Если есть возможность, то лучше передавать данные не с байтом-финализатором, а с указанием длины пакета.
3. Даже если не получен SEND OK, то не нужно сразу делать перезагрузку. Можно послать AT+CIPACK, и если модуль скажет, что все данные переданы, то продолжать работу в нормальном режиме.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.