📄 gprs.h
字号:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright (C), 2005, TopBond Tech. Co., Ltd.
* File name: GPRS.H
* Module name: GPRS自动拨号上网模块
* Author/Date: WuHuan 06/02/14
* Version: Ver 1.0
* Description: GPRS自动拨号上网系列函数的头文件
* Others: 如有改动,请在下面的历史记录登记,谢谢合作!
------------------History-----------------------------
* Modifier/Date: //修订人及修订日期
* Modify Reason: //修订原因
* Modification: //修订的内容和位置的简要说明
------------------------------------------------------
* Modifier/Date: //修订人及修订日期
* Modify Reason: //修订原因
* Modification: //修订的内容和位置的简要说明
------------------------------------------------------
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#if !defined( _GPRS_H )
#define _GPRS_H
enum PPPGPRSState { POWERON=0, PPPINIT, ATE0, ATCGATT, ATCGATT_1,
ATCGDCONT, ATD99, PPPLINK, PPPLINKUP, PPPTERM };
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :PPP_Running( );
**
** 功能描述 :实现GPRS自动拨号上网,不断调用该函数,可保证GPRS一直在线;
**
** 参 数 :无;
**
** 返 回 值 :返回进行GPRS拨号上网状态;
**
** 0 : GPRS模块上电操作;
** 1 : 初始化PPP网络相关参数;
** 2 : 发送“ATE0”指令操作;
** 3 : 发送“AT+CGATT?”指令,用于检查模块是否附着到GPRS网络;
** 4 : 发送“AT+CGATT=1”指令,用于设置模块附着到GPRS网络;
** 5 : 发送“AT+CGDCONT=1,"IP","CMNET "”,设置GPRS通讯参数;
** 6 : 发送“ATD*99***1#”,拨号到GPRS节点服务器;
** 7 : 进行PPP配置、协商;
** 8 : 表明GPRS上网、PPP配置成功,应用程序可进行TCP/IP通讯;
** 9 : 断开GPRS网络,关闭PPP网络,同时关闭了GPRS模块电源。
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
PPPGPRSState PPP_Running( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :PPP_Restart( );
**
** 功能描述 :重新启动PPP配置。该函数主要针对在进行TCP/IP数据通讯过程
** 中出现异常时的应用,可通过调用该函数重新启动GPRS操作。
**
** 参 数 :无;
**
** 返 回 值 :无;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
void PPP_Restart( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :IsTimeOut( );
**
** 功能描述 :检查函数的运行是否超时
**
** 参 数 :无;
**
** 返 回 值 :
** 0 :没有超时;
** 1 :已经超时;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int IsTimeOut( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :GPRSPowerOn( );
**
** 功能描述 :GPRS模块上电;
**
** 参 数 :无;
**
** 返 回 值 :返回GPRS模块的上电状态;
** 0 :已经上电;
** 1 :还未上电;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int GPRSPowerOn( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :PPPInit( );
**
** 功能描述 :初始化PPP网络相关参数;
**
** 参 数 :不填参数而使用缺省值;
**
** 返 回 值 :
** 0 :初始化成功;
** -1 : 初始化失败;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int PPPInit( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :SendATCmd( );
**
** 功能描述 :发送AT指令并获取GPRS模块的响应值;
**
** 参 数 :无;
**
** 返 回 值 :返回获取AT指令的状态;
** 0 :获取到正确的AT响应;
** 1 : 已发送AT指令并进入接受响应的状态;
** -1 : 未接受到正确的响应值;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int SendATCmd( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :PPPLinkUp( );
**
** 功能描述 :作为PPP的客户端,启动PPP连接,进行PPP认证,并检查PPP状态;
**
** 参 数 :无;
**
** 返 回 值 :
** 0 :PPP打开、PPP认证成功,进入网络层协议状态;
** 1 :处于PPP连接、认证状态中;
** -1 :PPP打开、PPP认证失败。
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int PPPLinkUp( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :PPPPolling( );
**
** 功能描述 :获取PPP的状态;
**
** 参 数 :无;
**
** 返 回 值 :检查PPP的状态;
** 0 :表明GPRS上网、PPP配置成功,应用程序可进行TCP/IP通讯;
** -1 : PPP处于关闭状态,可再重新建立PPP连接。
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int PPPPolling( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :PPPTermNet( );
**
** 功能描述 :断开GPRS网络,关闭PPP网络,同时关闭了GPRS模块电源;
**
** 参 数 :无;
**
** 返 回 值 :
** 0 :执行动作成功;
** 1 : 正处于执行状态;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int PPPTermNet( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :GPRSPowerIsOn( );
**
** 功能描述 :检查GPRS的上电状态;
**
** 参 数 :无;
**
** 返 回 值 :
** 0 :GPRS没有上电;
** 1 :GPRS已经上电;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int GPRSPowerIsOn( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :EnableIGT( );
**
** 功能描述 :给GPRS模块上电,产生高电位脉冲,启动GPRS模块;
**
** 参 数 :无;
**
** 返 回 值 :
** 0 :动作执行完毕;
**
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int EnableIGT( );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :DisableIGT( );
**
** 功能描述 :产生低电位脉冲,启动GPRS模块;
**
** 参 数 :无;
**
** 返 回 值 :
** 0 :动作执行完毕;
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int DisableIGT( );
#endif
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
**
** 函 数 :
**
** 功能描述 :
**
** 参 数 :
**
** 返 回 值 :
**
**
**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -