izysxnu.zip

  • AUHY%25252177573
    了解作者
  • C++
    开发工具
  • 15KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2018-04-21 07:01
    上传日期
华为GPRSGTM900的类,全 部操作(GPRS,SMS)
izysxnu.zip
  • K2GTM900.h
    3.3KB
  • RE9CGtm900.cpp
    67.9KB
内容介绍
/****************************************Copyright (c)************************************************** ** 终端产品 ** **--------------文件信息-------------------------------------------------------------------------------- **文 件 名: CGtm900.cpp **创 建 人: 杨虎岳 **最后修改日期: 2006年6月6日 **描 述: 华为GTM900的参数设置和短信处理 **调用全局变量: **继 承 父 类: **--------------历史版本信息---------------------------------------------------------------------------- ** 创建人: 王顺仁 ** 版 本: v1.0 ** 日 期: 2006年3月3日 ** 描 述: 原始版本 ** **--------------当前版本修订------------------------------------------------------------------------------ **修 定 人: 杨虎岳 **日 期: 2006年6月6日 **调用全局变量: **继 承 父 类: ** 描 述:  转换成C++,并对多个地方进行了修改 ** **------------------------------------------------------------------------------------------------------ ********************************************************************************************************/ #include "class.h" #include "task.h" #include "parameterAdd.h" #if(HUAWEI_M==1) INT8U CGtm900:: GMoudleRstcnt=0; INT8U const at_cmd_at[]={"AT"}; //测试串口 正常返回OK INT8U const at_cmd_cpas[]={"AT+CPAS"}; //手机活动状态 INT8U const at_cmd_mso[]={"AT%MSO"}; //关机,无返回 INT8U const at_cmd_csq[]={"AT+CSQ"}; //信号强度 正常返回+CSQ:31,99 INT8U const at_cmd_ate0[]={"ATE0"}; //关闭回显 正常返回OK INT8U const at_cmd_cscs[]={'A','T','+','C','S','C','S','=','"','H','E','X','"',0x00}; //初始化PDP,击活参数,正常返回OK //INT8U const at_cmd_cgd[]= //{'A','T','+','C','G','D','C','O','N','T','=','1',',','"','I','P','"',',','"','C','M','N','E','T','"',0x00}; INT8U const at_cmd_cgd[]= {'A','T','+','C','G','D','C','O','N','T','=','1',',','"','I','P','"',',',0x00}; INT8U const at_cmd_etcp[]={"AT%ETCPIP"};//初始化TCPIP,正常返回OK INT8U const at_cmd_iomode[]={"AT%IOMODE=1"};//设置用户数据接口,正常返回OK INT8U const at_cmd_ipopen[]={'A','T','%','I','P','O','P','E','N','=','"','T','C','P','"',',',0x00};//???????打开一条TCP连接,正常返回CONNECT INT8U const at_cmd_ipsend[]={"AT%IPSEND="};//发送数据到服务器,正常返回%IPSEND:1 INT8U const at_cmd_ipclose[]={"AT%IPCLOSE"};//断开服务器,正常返回OK INT8U const at_ack_ipclose[]={"%IPCLOSE"};//返回%IPCLOSE INT8U const at_ack_ipsend[]={"%IPSEND:"};//返回%IPSEND INT8U const at_ack_ipdata[]={"%IPDATA"};//服务器发来的数据 INT8U const mode_reset[]={"AT-Command Interpreter ready"};//模块复位信号 //短信方式 INT8U const at_cmd_cnmi[]={"AT+CNMI=2,1"} ;//新短信提示,正常返回OK INT8U const at_cmd_cpms[]={"AT+CPMS?"}; //显示当前短信存储载体设置 INT8U const at_cmd_cmgr[]={"AT+CMGR="} ;//读短信 正常返回短信内容 INT8U const at_cmd_cmgd[]={"AT+CMGD="} ;//删除短信 正常返回OK //INT8U const at_cmd_cmgf[]={"AT+CMGF=1"} ;//设置短信模式为文本模式,正常返回OK INT8U const at_cmd_cmgf[]={"AT+CMGF=0"} ;//设置短信模式为PDU,正常返回OK INT8U const at_cmd_cmgs[]={"AT+CMGS="};//写短信,正常返回">" INT8U const at_ack_cmti[]={"+CMTI:"};//新短信提示 +CMTI: "SM",1 INT8U const at_ack_cpms[]={"+CPMS:"};//短信载体显示//判断是否是短信 INT8U const at_ack_cpas[]={"+CPAS: 0"};//手机活动状态:准备就绪 INT8U const at_ack_cpri[]={"%CPRI:"};//有网络信号提示 INT8U const at_ack_cmgr[]={"+CMGR:"};//短信内容 INT8U const at_ack_cmgs[]={"+CMGS:"};//短信发送成功 INT8U const at_ack_cms321[]={"+CMS ERROR: 321"};//invalid memory index INT8U const at_ack_error[]={"connect error"}; INT8U const at_ack_errn[]={"ERROR"}; INT8U const at_cmd_csca[]={"AT+CSCA?"}; INT8U const at_cmd_setcsca[]={"AT+CSCA="}; INT8U const at_ack_conerrn[]={"ERROR: 2"}; INT8U const at_ack_connect[]={"CONNECT"}; INT8U const at_ack_ring[]={"RING"}; //INT8U const at_ack_csq[]={"+CSQ: 99,99"}; INT8U const at_ack_csq[]={"+CSQ: "}; INT8U const hex2hl[]={"0123456789ABCDEF"}; INT8U const at_cmd_localip[]={"AT%ETCPIP?"};//查询本地IP CGPIOOUT MokRcvfg(LED1IO); /* AT+CPMS? <mem1> “SM” SIM卡消息存储器 读取和删除消息时使用 “ME” ME消息存储器 的存储器 <mem2> “SM” SIM卡消息存储器 存储和发送消息时使用 “ME” ME消息存储器 的存储器 <mem3> “SM” SIM卡消息存储器 若没有建立到TE的路 “ME” ME消息存储器 由,则将接收的消息存储 在该存储器 <usedx> -- <memx>中当前消息的数量 <totalx> -- <memx>中可存储的消息的数量 */ /* %CPRI: 1,2 AT+CMGF=1 AT+CPMS? +CPMS: "SM",1,20,"SM",1,20,"SM",1,20 OK ATE0 at+csq AT+Cmgr=1 +CMGR: "REC UNREAD","8613760465620",,"06/05/12,17:00:50+00",145,4,0,0,"8613800755500",145,24 Ip:"218.017.105.150",6000 OK AT+CGDCONT=1,"IP","CMNET" AT%ETCPIP 218.18.39.159 AT%IPOPEN="TCP","219.134.113.47",4777 AT%IPCLOSE AT%IPSEND="11111111111111111111" */ CGtm900::CGtm900(INT8U* buf) { //CommonId=id; rs232_data=buf; } //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // 函数名称: GprsInit(void) // 功能描述: GPRS初始化  // 输  入:   //   // 输  出: 解码地址 // // 全局变量: 无 // 调用模块: // 调用类: //创 建 人: 杨虎岳 //日 期: 2006年6月7日 //------------------------------------------------------------------------------------------------------- // 修改人: // 日 期: // 内 容: //------------------------------------------------------------------------------------------------------ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ INT8U CGtm900:: GprsInit(void) { INT8U temp=0; INT8U j=0; power_on(); do { temp=InitAll(); if(temp) return TRUE; j++; }while(GRestGprsFg&&j<1); return FALSE; } //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // 函数名称: CloseTcpIP(void) // 功能描述: 关闭TCP连接,要等12秒 // 输  入:   //   // 输  出: 解码地址 // // 全局变量: 无 // 调用模块: // 调用类: //创 建 人: 杨虎岳 //日 期: 2006年6月7日 //------------------------------------------------------------------------------------------------------- // 修改人: // 日 期: // 内 容: //------------------------------------------------------------------------------------------------------ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ INT8U CGtm900:: CloseTcpIP(void) { INT8U i; close_IP();//这个要12秒才能返回OK for(i=0;i<20;i++) { clr_at_rxbuf(); //清除接收at信息 wait_for_ack(100); if(rec_count) { check_ipclose(); if(!b_ackOK) check_OK(); if(b_ackOK) return True; //clr_at_rxbuf(); //清除接收at信息 } } return FALSE; } //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // 函数名称: InitTCPIP(void) // 功能描述: 包括配置APN,进入TCPIP功能,打开TCPIP一条数据连接,三个功能项 // 输  入:   //   // 输  出: 解码地址 // // 全局变量: 无 // 调用模块: Initconnect_IP() // 调用类: //创 建 人: 杨虎岳 //日 期: 2006年6月7日 //------------------------------------------------------------------------------------------------------- // 修改人: // 日 期: // 内 容: //------------------------------------------------------------------------------------------------------ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ INT8U CGtm900:: InitTCPIP(void)//包括配置APN,进入TCPIP功能,打开TCPIP一条数据连接,三个功能项 { INT8U i=0; INT8U temp; write_at_ate0(); //temp=8; temp=write_at_csq();//信号强度 if(temp>4&&temp!=99) { i=0; write_at_cgd();//初始化PDP,配置APN,,击活参数,正常返回OK//如果不行复位模块5次 if(rec_count==0) return FALSE; //if(!b_ackOK) {i++;} //}while((!b_ackOK)&&i<2); //选择16进制形式。现在不能用,华为的模块不能处理00 //i=0; do { write_at_etcp();//初始化ETCP,正常返回OK if(rec_count==
评论
    相关推荐
    • RS232串口通讯编程
      基于RS-232的详细的串口通信程序,MFC窗口界面
    • android串口通讯编程demo
      基于android-serialport-api的android串口通讯编程demo,实现对串口的打开读写操作,以及16进制命令的发送操作。使用的时候注意要修改串口的权限。
    • c# socket通讯编程
      控制台的一个TCP socket通讯编程+socket通讯编程
    • UDP通讯编程
      UDP MFC Vc6.0很适合学习网络编程的人练手
    • vc网络通讯编程实例
      有基本网络编程,本地网络编程,IE,网络编程,网络协议编程,代理服务器,高级通信,断点续传,语音电话等内容,并全是代码(vc6.0)-
    • C#通讯编程
      C#编写的网络通讯,发送和接收数据,下载下来可以直接运行。
    • socket数据通讯编程
      通过TServerSocket和TClientSocket组件开发客户端和服务端程序,ServerSocket组件可以同时接受一个或多个ClientSocket组件的连接请求,并与每个ClientSocket组件建立单独的连接,进行单独的通信。...
    • Testwinsock通讯编程
      通过学习该程序,我们可以了解在tcp/ip或者udp通讯编程中的winsock通讯的原理
    • 网络编程基础+网络通讯编程
      本文对网络编程基础知识进行了介绍,特别是网络通信和网络通信编程,还有TCP/IP协议。
    • C++网络通讯编程案例
      C++网络编程实例!。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...