#include "include.h"
#include "driver\uart1.h"
#include "driver\Delay.h"
#include "driver\CommBuffer.h"
#include "SMS.h"
#include "AT.h"
/*
char chPDUSendData[512];
char szError[256];
char byRead[256];
BOOL bIsSMS = FALSE;
int SMSPackDataToPDU(char *pSimNum, char *pData, int iLen,char *pPDUData)
{
int n = 12;
int no = 0;
chPDUHead[n] = pSimNum[1];
chPDUHead[n+1] = pSimNum[0];
chPDUHead[n+2] = pSimNum[3];
chPDUHead[n+3] = pSimNum[2];
chPDUHead[n+4] = pSimNum[5];
chPDUHead[n+5] = pSimNum[4];
chPDUHead[n+6] = pSimNum[7];
chPDUHead[n+7] = pSimNum[6];
chPDUHead[n+8] = pSimNum[9];
chPDUHead[n+9] = pSimNum[8];
chPDUHead[n+11] = pSimNum[10];
n+=18;
no = MultiByteToWideChar (pData, iLen,byRead);
sprintf(&chPDUHead[n] ,"%02X", no*2);
n += 2;
memcpy(pPDUData,chPDUHead,n);
memcpy(pPDUData+n,byRead,no*4);
pPDUData[n+no*4]=0x1A;
return no*4+n+1;
}
BOOL SMS_Int()
{
int nOutLen = 0 ;
BOOL isATOK = FALSE;
Uart1_Send(CencleSend,2);
Delay_ms(1000);
memset(byRead,'\0',256);
for(int i = 0 ; i< 3 ; i++)
{
Uart1_Send(AT,3);
Delay_ms(500);
if(WaitData(300,OK,byRead,&nOutLen))
{
isATOK = TRUE;
break;
}
}
memset(szError,'\0',256);
if(!isATOK)
{
strcpy(szError,"发送AT命令失败 -- 没有数据返回!");
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
memset(byRead,'\0',256);
Uart1_Send(SmsAckOff,5);
Delay_ms(1000);
if(!WaitData(300,OK,byRead,&nOutLen))
{
if(byRead == NULL)
{
strcpy(szError,"发送取消回显命令失败 -- 没有数据返回!");
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
else
{
sprintf(szError,"发送取消回显命令失败 -- 没有收到OK!=: %s" , byRead );
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
}
///////////////////////////////////////////////////////////////////////
memset(byRead,'\0',256);
Uart1_Send(SmsModeSet,10);
Delay_ms(500);
if(!WaitData(300,OK,byRead,&nOutLen))
{
if(byRead == NULL)
{
strcpy(szError,"发送PDU格式设置命令失败 -- 没有数据返回!");
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
else
{
sprintf(szError,"发送PDU格式设置命令失败 -- 没有收到OK!=: %s" , byRead );
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
}
////////////////////////////////////////////////////////////////////
memset(byRead,'\0',256);
Uart1_Send(SmsAutoSendSet,21);
if(!WaitData(300,OK,byRead,&nOutLen))
{
if(byRead == NULL)
{
strcpy(szError,"发送短信自动发送命令失败 -- 没有数据返回!");
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
else
{
sprintf(szError,"发送短信自动发送命令失败 -- 没有收到OK!=: %s" , byRead );
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
}
memset(byRead,'\0',256);
strcpy(szError,"登陆成功!");
Send_DataAck((U8*)szError,strlen(szError));
bIsSMS = TRUE;
return TRUE;
}
BOOL SMS_Send(char* szPhone,char* szContext,int nLen)
{
int nOutLen = 0 ;
int iReturnLen;
int iPDUPgLen;
char chTextLen[3];
memset(szError,'\0',256);
memset(chPDUSendData,'\0',512);
iPDUPgLen = SMSPackDataToPDU(szPhone,szContext,nLen,chPDUSendData);//Packaged PDU Data
sprintf(chTextLen,"%d",(iPDUPgLen-2)/2);
iReturnLen = strlen(chTextLen);
for(int i=0;i<iReturnLen;i++)
{
SMSSend[11-iReturnLen+i] = chTextLen[i];
}
Uart1_Send(CencleSend,2);
Delay_ms(1000);
//////////////////////////////////////////////////////////////////////////
memset(byRead,'\0',256);
Uart1_Send(SMSSend,12);
Delay_ms(200);
if(!WaitData(300,">",byRead,&nOutLen))
{
if(byRead == NULL)
{
strcpy(szError,"发送SMS命令失败 -- 没有数据返回!");
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
else
{
strcpy(szError,"发送SMS命令失败 -- 没有收到 〉" );
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
}
////////////////////////////////////////////////////////////////////////
memset(byRead,'\0',256);
Uart1_Send((BYTE*)chPDUSendData,iPDUPgLen);
Delay_ms(2000);
Delay_ms(2000);
if(!WaitData(300,OK,byRead,&nOutLen))
{
if(byRead == NULL)
{
strcpy(szError,"发送PDU数据失败 -- 没有数据返回!");
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
else if(strstr(byRead,CMGS)==NULL)//收到"+CMGS"
{
sprintf(szError,"发送短信失败 -- 没有收到CMGS或OK =: %s" , byRead );
Send_DataAck((U8*)szError,strlen(szError));
return FALSE;
}
}
strcpy(szError,"发送短信成功!");
Send_DataAck((U8*)szError,strlen(szError));
return TRUE;
}
*/
评论0