?? sms.h
字號:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright (C), 2005, TopBond Tech. Co., Ltd.
* File name: SMS.H
* Module name: 收發(fā)短信低層函數(shù)的模塊
* Author/Date: WuHuan 06/02/14
* Version: Ver 1.0
* Description: 收發(fā)短信低層系列函數(shù)的頭文件
* Others: 如有改動,請?jiān)谙旅娴臍v史記錄登記,謝謝合作!
------------------History-----------------------------
* Modifier/Date: //修訂人及修訂日期
* Modify Reason: //修訂原因
* Modification: //修訂的內(nèi)容和位置的簡要說明
------------------------------------------------------
* Modifier/Date: //修訂人及修訂日期
* Modify Reason: //修訂原因
* Modification: //修訂的內(nèi)容和位置的簡要說明
------------------------------------------------------
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#if !defined( _SMS_H )
#define _SMS_H
/*********定義記錄CheckSMS狀態(tài)的枚舉類型:**************************************
枚舉常量 意 義
CheckSMS_START = 0 發(fā)送ATE0指令;
CheckSMS_ATEO 檢查ATE0的響應(yīng)值,若正確則發(fā)送AT+CMGF=0指令;
CheckSMS_ATCMGF_GET 接收AT+CMGF=0指令的響應(yīng)值;
CheckSMS_ATCMGL4_SEND 發(fā)送AT+CMGL=0指令;
CheckSMS_ATCMGL4_GET 接收AT+CMGF=0指令的響應(yīng),若正確顯示收到的未讀
短信的條數(shù)
****************************************************************************/
enum CheckSMS_State{ CheckSMS_START=0,CheckSMS_ATE0_SEND,CheckSMS_ATE0_Get,CheckSMS_ATCMGF_SEND,
CheckSMS_ATCMGF_GET, CheckSMS_ATCMGL4_SEND,CheckSMS_ATCMGL4_GET,CheckSMS_ModemPowerOff,
CheckSMS_ModemPowerOn,CheckSMS_InitUARTCOM2,CheckSMS_Idle };
/*********定義記錄ReceiveSMS狀態(tài)的枚舉類型:**************************************
枚舉常量 意 義
ReceiveSMS_START = 0 發(fā)送ATE0指令;
ReceiveSMS_ATEO 檢查ATE0的響應(yīng)值,若正確則發(fā)送AT+CMGF=0指令;
ReceiveSMS_ATCMGF_GET 接收AT+CMGF=0指令的響應(yīng)值;
ReceiveSMS_ATCMGR_SEND 發(fā)送AT+CMGR指令,讀短信;
ReceiveSMS_ATCMGR_GET 接收AT+CMGR指令的響應(yīng)值,若正確則讀取短信內(nèi)容,
讀完后刪除所讀的短信。
****************************************************************************/
enum ReceiveSMS_State{ ReceiveSMS_START=0,ReceiveSMS_ATE0_Get,ReceiveSMS_ATCMGF_SEND,
ReceiveSMS_ATCMGF_GET,ReceiveSMS_ATCMGR_SEND,ReceiveSMS_ATCMGR_GET,ReceiveSMS_Idle };
/*********定義記錄RcvSMS狀態(tài)的枚舉類型:********************
枚舉常量 意 義
GPRSTERM = 0 GPRS網(wǎng)絡(luò)處于關(guān)閉狀態(tài);
GPRS = 1 GPRS網(wǎng)絡(luò)正處于開啟狀態(tài);
TCP = 2 正在建立TCP連接;
GPRSLINKUP = 3 GPRS網(wǎng)絡(luò)打開,TCP建立完畢;
********************************************************/
enum RcvSMS_State{ SMS_CheckSMS=0,SMS_ReceiveSMS };
struct RcvSMSInfo
{
char From[20]; //記錄發(fā)短信人的信息
int Index; //短信在存儲器中的地址
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 數(shù) :CHECK( int time , char* EchoStr );
**
** 功能描述 :從COM2中接收AT指令的響應(yīng)值;
**
** 參 數(shù) :
time : 接收短信所花的最大時間;
** * EchoStr :正確的響應(yīng)字符串;
** 返 回 值 :
** 0 :正確的返回值;
** -1 : 接收數(shù)據(jù)緩沖區(qū)數(shù)據(jù)溢出;
** -12 : 響應(yīng)超時;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int CHECK( long TimeOutNum, char* EchoStr );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 數(shù) :ReceiveSMS( char* Content, int Index=1 );
**
** 功能描述 :接收短信;
**
** 參 數(shù) :
* Content :存儲短信字符串的指針變量;
** Index :存放短信的地址;
** 返 回 值 :
** 0 :未接收到新短信;
** >0 : 返回實(shí)際接受到短信內(nèi)容的字節(jié)數(shù);
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int ReceiveSMS( char* Content, int Index=1 );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 數(shù) :CheckSMS( struct RcvSMSInfo* Info );
**
** 功能描述 :檢查是否有未讀短信;
**
** 參 數(shù) :
** struct RcvSMSInfo* Info :接收到的短信的信息;
**
** 返 回 值 :
** 0 :未檢查到新的短信;
** >0 : 未讀短信的條數(shù);
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int CheckSMS( struct RcvSMSInfo* Info );
int SEND( char* cmdstr ); //通過COM2口發(fā)AT指令
/////////////////////////////////////add by wuhuan 2006.03.17
int RcvIsTimeOut( long NumTick );
int GPRSPowerOff( );
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -