📄 sms.h
字号:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright (C), 2005, TopBond Tech. Co., Ltd.
* File name: SMS.H
* Module name: 收发短信低层函数的模块
* Author/Date: WuHuan 06/02/14
* Version: Ver 1.0
* Description: 收发短信低层系列函数的头文件
* Others: 如有改动,请在下面的历史记录登记,谢谢合作!
------------------History-----------------------------
* Modifier/Date: //修订人及修订日期
* Modify Reason: //修订原因
* Modification: //修订的内容和位置的简要说明
------------------------------------------------------
* Modifier/Date: //修订人及修订日期
* Modify Reason: //修订原因
* Modification: //修订的内容和位置的简要说明
------------------------------------------------------
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#if !defined( _SMS_H )
#define _SMS_H
/*********定义记录CheckSMS状态的枚举类型:**************************************
枚举常量 意 义
CheckSMS_START = 0 发送ATE0指令;
CheckSMS_ATEO 检查ATE0的响应值,若正确则发送AT+CMGF=0指令;
CheckSMS_ATCMGF_GET 接收AT+CMGF=0指令的响应值;
CheckSMS_ATCMGL4_SEND 发送AT+CMGL=0指令;
CheckSMS_ATCMGL4_GET 接收AT+CMGF=0指令的响应,若正确显示收到的未读
短信的条数
****************************************************************************/
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状态的枚举类型:**************************************
枚举常量 意 义
ReceiveSMS_START = 0 发送ATE0指令;
ReceiveSMS_ATEO 检查ATE0的响应值,若正确则发送AT+CMGF=0指令;
ReceiveSMS_ATCMGF_GET 接收AT+CMGF=0指令的响应值;
ReceiveSMS_ATCMGR_SEND 发送AT+CMGR指令,读短信;
ReceiveSMS_ATCMGR_GET 接收AT+CMGR指令的响应值,若正确则读取短信内容,
读完后删除所读的短信。
****************************************************************************/
enum ReceiveSMS_State{ ReceiveSMS_START=0,ReceiveSMS_ATE0_Get,ReceiveSMS_ATCMGF_SEND,
ReceiveSMS_ATCMGF_GET,ReceiveSMS_ATCMGR_SEND,ReceiveSMS_ATCMGR_GET,ReceiveSMS_Idle };
/*********定义记录RcvSMS状态的枚举类型:********************
枚举常量 意 义
GPRSTERM = 0 GPRS网络处于关闭状态;
GPRS = 1 GPRS网络正处于开启状态;
TCP = 2 正在建立TCP连接;
GPRSLINKUP = 3 GPRS网络打开,TCP建立完毕;
********************************************************/
enum RcvSMS_State{ SMS_CheckSMS=0,SMS_ReceiveSMS };
struct RcvSMSInfo
{
char From[20]; //记录发短信人的信息
int Index; //短信在存储器中的地址
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :CHECK( int time , char* EchoStr );
**
** 功能描述 :从COM2中接收AT指令的响应值;
**
** 参 数 :
time : 接收短信所花的最大时间;
** * EchoStr :正确的响应字符串;
** 返 回 值 :
** 0 :正确的返回值;
** -1 : 接收数据缓冲区数据溢出;
** -12 : 响应超时;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int CHECK( long TimeOutNum, char* EchoStr );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :ReceiveSMS( char* Content, int Index=1 );
**
** 功能描述 :接收短信;
**
** 参 数 :
* Content :存储短信字符串的指针变量;
** Index :存放短信的地址;
** 返 回 值 :
** 0 :未接收到新短信;
** >0 : 返回实际接受到短信内容的字节数;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int ReceiveSMS( char* Content, int Index=1 );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :CheckSMS( struct RcvSMSInfo* Info );
**
** 功能描述 :检查是否有未读短信;
**
** 参 数 :
** struct RcvSMSInfo* Info :接收到的短信的信息;
**
** 返 回 值 :
** 0 :未检查到新的短信;
** >0 : 未读短信的条数;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int CheckSMS( struct RcvSMSInfo* Info );
int SEND( char* cmdstr ); //通过COM2口发AT指令
/////////////////////////////////////add by wuhuan 2006.03.17
int RcvIsTimeOut( long NumTick );
int GPRSPowerOff( );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -