Цитата(Andreymai @ Jun 1 2012, 13:32)

AT+CSCS=?
"GSM", "PCCP437", "CUSTOM", "HEX"
Погоди чуток, с обеда вернусь, кусок кода выложу и будет тебе счастье

Ну вот, как то так...
Код
#include "adl_global.h"
const u16 wm_apmCustomStackSize = 4096*4;
s8 SmsHandle = -1;
ascii sms_buf[280];
ascii num[15];
void SmsCtrlHandler( u8 Event, u16 Nb )
{
TRACE (( 1, "SMS_EVENT N:%d",Event));
switch(Event)
{
case ADL_SMS_EVENT_SENDING_OK:
//----------- СМС ушло ------------//
TRACE (( 1, "SMS_SENDING_OK"));
break;
case ADL_SMS_EVENT_SENDING_ERROR:
TRACE (( 1, "SMS_ERROR N:%d",Nb));
break;
default:
}
}
bool SmsHandler( ascii * SmsTel, ascii * SmsTimeOrLength, ascii * SmsText )
{
//----- Тут читаем СМС ---------//
return ADL_SMS_FILTER_INDICATION_AND_DELETE;
}
s16 sms_at_Handler(adl_atResponse_t *paras)
{
if(paras->RspID == ADL_STR_OK);
{
adl_smsSend ( SmsHandle, num, sms_buf, ADL_SMS_MODE_TEXT);
}
return FALSE;
}
void SmsSend(u8 z, u8 n[])
{
wm_strcpy(num,(ascii*)n);
if(z == 0)
{
//---Текст СМС в UCS2-------//
wm_strcpy(sms_buf,"0410043D0434044004350439002C0020043F044004380432043504420020043804370020041D
043E0432043E044104380431043804400441043A04300021");
adl_atCmdSend ( "AT+CSMP=1,168,0,8",(adl_atRspHandler_t)sms_at_Handler,"*",NULL);
}else
if(z == 1)
{
//---Текст СМС в GSM -------//
wm_strcpy(sms_buf,"Hello Word!");
adl_atCmdSend ( "AT+CSMP=1,168,0,17",(adl_atRspHandler_t)sms_at_Handler,"*",NULL);
}
}
void adl_main ( adl_InitType_e InitType )
{
SmsHandle = adl_smsSubscribe ( SmsHandler, SmsCtrlHandler, ADL_SMS_MODE_TEXT);
// ------------------ UCS2 ----------------- //
SmsSend(0,"+7913xxxxxx");
// ------------------ GSM ----------------- //
//SmsSend(1,"+7913xxxxxx");
}
Как видишь если не надо "склеивать" в длинную смску то можно в текстовом режиме отправить UCS2.