От предыдущего разработчика достался GPS треккер,
не совсем правильно разведеный, разводку чуть изменили,
програму пришлось переписать, при передаче данных через этот модем
обнаружил странные вещи:
1) при включении питания модуля ожидаю Call Ready через несколько секунд, но не все модули выводят это сообшение,
все модули из одной партии
2) При передаче данных на UDP или TCP сервер через какое то время после нормалных передач
передача заканчивается сообщением
+PDP: DEACT, далее через несколько минут передача может проснуться.
CODE
sprintf(str, "AT+CIPSEND=%d\r\n", len);
gprs_send_str(str);
/* Ждем строчки с приглашением */
res = gprs_wait_for_str(">", WAIT_TIME_10SEC);
gprs_flush(GPRS_BUF_IN); /* Затрем приемный */
if (res == RES_OK) {
gprs_send_buf((u8 *) buf, len);
res = gprs_wait_for_str("SEND OK", WAIT_TIME_10SEC * 2);
} else if(res == RES_DEACT) {
gprs_send_str("AT+CGATT?\r\n");
gprs_wait_for_str("+CGATT:", WAIT_TIME_10SEC);
gprs_flush(GPRS_BUF_IN);
}
Кто с таким сталкивался и как с этим бороться?