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

 
 
> Функция adl_smsSend в OpenAT, не работает
PriBoris
сообщение May 24 2009, 15:50
Сообщение #1


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

Группа: Участник
Сообщений: 167
Регистрация: 7-10-05
Из: Санкт-Петербург
Пользователь №: 9 352



Wavecom Q64
OpenAT R7.3

Ни под каким углом не могу заставить модем отсылать sms c помощью функции adl_smsSend. Упорно возвращается ошибка -8 (ADL_RET_ERR_BAD_STATE), означающая the product is not ready to send an SMS (initialization not yet performed, or sending an SMS already in progress)

Но при этом "продукт" прекрасно отсылает сообщения с помощью at-команд (at+cmgs ...). Само OpenAT-приложение чётко принимает входящие сообщения. Если послать на виртуальный порт at+csca? то возвращается csca: "+79219909090",145 , то есть по идее номер провайдера модуль знает.

Что делать? Где искать засаду ?

Вот основные фрагменты кода:

Код
static s8 SmsHandle = -1;
static s32 SmsResult;
static ascii SmsSendBuffer[200];
static ascii SmsSendNumber[20];

void adl_main ( adl_InitType_e  InitType )
{
  ...
  SmsHandle = adl_smsSubscribe (SmsReceivedHandler,SmsControlHandler,ADL_SMS_MODE_TEXT);
  ...
}

static bool SmsReceivedHandler(ascii *SmsTel, ascii *SmsTimeOrLength, ascii *SmsText)
{
...

    return TRUE;
}

static void HeartbeatTimerHandler ( u8 ID, void * Context )
{
     ...
     ascii stemp[64];
     HeartbeatCounter++;
     ...

     if (HeartbeatCounter==6)
     {
      //adl_atCmdCreate( "at+csca=\"+79219909090\"",FALSE,(adl_atRspHandler_t)NULL,NULL);
      SmsResult = adl_smsSend(SmsHandle,SmsSendNumber,SmsSendBuffer,ADL_SMS_MODE_TEXT);
      wm_sprintf(stemp,"adl_smsSend result %d\r\n",SmsResult);
      adl_atSendResponse ( ADL_AT_UNS,stemp);
     }
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:17
Рейтинг@Mail.ru


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