华为MG323驱动资料Word格式文档下载.docx
- 文档编号:14711922
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:16
- 大小:18.42KB
华为MG323驱动资料Word格式文档下载.docx
《华为MG323驱动资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《华为MG323驱动资料Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
//开机后,RSTON>
10ms模块复位
#defineRSTONGPIO_SetBits(GPIOB,GPIO_Pin_14);
#defineRSTOFFGPIO_ResetBits(GPIOB,GPIO_Pin_14);
//模块上电后,在关机状态TERMOFF变成TERMON1秒后可开机,开机状态TERMOFF变成TERMON1秒可关机,保持20秒又会开机
#defineTERMONGPIO_SetBits(GPIOB,GPIO_Pin_15);
#defineTERMOFFGPIO_ResetBits(GPIOB,GPIO_Pin_15);
//GprsInfo.state状态定义
#defineSTATE_BEGIN0//开机流程第1次GPRS_Reset时从此状态开机
#defineSTATE_POWER_ON1
#defineSTATE_TERM_ON2
#defineSTATE_RESET3//模块复位流程非第1次GPRS_Reset时从此状态复位
//#defineSTATE_PWRKEY_HIGH4
#defineSTATE_SEND_AT4//AT
#defineSTATE_RECEIVE_AT5
#defineSTATE_SEND_ATE06//ATE0关闭回显
#defineSTATE_RECEIVE_ATE07
#defineSTATE_SEND_ATI8//ATI查询产品信息
#defineSTATE_RECEIVE_ATI9
#defineSTATE_SEND_CPIN10//CPIN获取SIM卡PIN密码
#defineSTATE_RECEIVE_CPIN11
#defineSTATE_SEND_CGSN12//CGSN查询IMEI号
#defineSTATE_RECEIVE_CGSN13
#defineSTATE_SEND_CSQ14//CSQ查询信号强度
#defineSTATE_RECEIVE_CSQ15
#defineSTATE_SEND_COPS16//COPS查询运营商信息
#defineSTATE_RECEIVE_COPS17
#defineSTATE_SEND_CGATT18//CGATT查询GPRS服务状态
#defineSTATE_RECEIVE_CGATT19
#defineSTATE_SEND_SICS20//SICS设置Internet连接类型(GPRS)
#defineSTATE_RECEIVE_SICS21
#defineSTATE_SEND_SISS_TYPE22//SISS建立Internet服务类型(Socket)
#defineSTATE_RECEIVE_SISS_TYPE23
#defineSTATE_SEND_SISS_ADDR24//SISS设置UDP服务地址根据网址建立连接
#defineSTATE_RECEIVE_SISS_ADDR25
#defineSTATE_SEND_SISO26//SISO打开UDP服务
#defineSTATE_RECEIVE_SISO27
#defineSTATE_IDLE28//GPRS服务已经成功连接并空闲
#defineSTATE_SEND_SISW_LEN30//SISW设置发包长度
#defineSTATE_RECEIVE_SISW_LEN31
#defineSTATE_SEND_SISW_DATA32//发送数据包
#defineSTATE_RECEIVE_SISW_DATA33
#defineSTATE_SEND_SISR34//SISR读取数据包
#defineSTATE_RECEIVE_SISR35
//定义AT命令表
#defineCMD_AT"
AT\r"
#defineCMD_ATE0"
ATE0\r"
#defineCMD_ATI"
ATI\r"
#defineCMD_CPIN"
AT+CPIN?
\r"
#defineCMD_CGSN"
AT+CGSN\r"
#defineCMD_CSQ"
AT+CSQ\r"
#defineCMD_COPS"
AT+COPS?
#defineCMD_CGATT"
AT+CGATT?
#defineCMD_SICS"
AT^SICS=0,conType,GPRS0\r"
#defineCMD_SISS_TYPE"
AT^SISS=0,srvType,Socket\r"
#defineCMD_SISS_ADDR"
AT^SISS=0,address,sockudp:
//"
#defineCMD_SISO"
AT^SISO=0\r"
#defineCMD_SISW"
AT^SISW=0,"
#defineCMD_SISR"
AT^SISR=0,256\r"
//定义AT返回命令表
#defineRET_OK"
OK\r\n"
#defineRET_ATI"
MG323\r\n"
#defineRET_SENDLEN"
^SISW:
0"
#defineRET_RCVDATA"
^SISR:
0,1\r\n"
#defineRET_EWT"
EWT"
#defineRET_CSQ"
+CSQ:
"
#defineRET_ERROR"
ERROR"
#defineGPRS_DEBUG
//#defineServerAddr"
:
10000\r"
221.6.15.222:
3030\r"
#definePACKETMAXSIZE256
struct_GPRS_INFO_STRUCT_
{
u8state;
u8rxState;
//接收状态,0允许读取串口数据,1上次的数据还没有被应用程序取走,不能解析新数据
u16rxBytes;
//收到模块的字节数
u8txTimer;
//AT命令发送计时器,超时重发。
u16LinkTimer;
//服务器连接计时器,超时则重启GPRS模块
u8rxATBuf[PACKETMAXSIZE];
//AT命令接收缓存
u8txATBuf[PACKETMAXSIZE];
//AT命令发送缓存
u8txDATABuf[PACKETMAXSIZE];
//数据包发送缓存
u8*rxPacketPtr;
//数据包的指针
u16rxPacketLen;
//数据包的字节数
u8txLen;
u8txHoldTime;
u8rxflg;
//0无数据包到达1有数据包到达
}GprsInfo;
#ifdefGPRS_DEBUG
#defineGPRS_DEBUG_MAXSIZE256
struct_GPRS_DEBUG_
u16len;
u8buf[GPRS_DEBUG_MAXSIZE];
}GprsDebug;
u32counter=0;
#endif
voidGPRS_Reset(u8rstnum)
if(GprsDebug.len+13<
GPRS_DEBUG_MAXSIZE)
{
sprintf(GprsDebug.buf+GprsDebug.len,"
GPRS_Reset:
%d\n"
rstnum);
GprsDebug.len+=13;
}
memset((u8*)&
GprsInfo,0,sizeof(GprsInfo));
if(rstnum==1)
GprsInfo.state=STATE_BEGIN;
else
GprsInfo.state=STATE_RESET;
}
u16CommandSend(u8*ptr,u16len)
GprsInfo.txTimer=20;
//超时重发时间20*50ms
if(GprsDebug.len+len+2<
memcpy(GprsDebug.buf+GprsDebug.len,"
S:
2);
GprsDebug.len+=2;
memcpy(GprsDebug.buf+GprsDebug.len,ptr,len);
GprsDebug.len+=len;
returnUSART1_Write(ptr,len);
voidGPRS_Transmit_Process(void)
switch(GprsInfo.state)
caseSTATE_BEGIN:
GprsInfo.state=STATE_POWER_ON;
GprsInfo.txHoldTime=0;
PWROFF;
TERMOFF;
RSTOFF;
break;
caseSTATE_POWER_ON:
if(!
GprsInfo.txHoldTime)
{
PWROFF;
TERMON;
GprsInfo.txHoldTime++;
}
else
if(GprsInfo.txHoldTime>
20*1)//命令执行延时1秒
{
PWRON;
GprsInfo.state=STATE_TERM_ON;
GprsInfo.txHoldTime=0;
}
caseSTATE_TERM_ON:
if(GprsInfo.txHold
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 MG323 驱动 资料