HLK-WIFI-M03串口转WIFI模块编程指南 (2).doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:18 大小:126KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

HLK-WIFI-M03串口转WIFI模块编程指南 (2).doc

HLK-WIFI-M03串口转WIFI模块编程指南(2).doc

预览

免费试读已结束,剩余 8 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HLK-WIFI-M03串口转WIFI模块(email:HYPERLINK"mailto:david@hlktech.cn"david@hlktech.cn0755-83575196tel:13420973470QQ:370925732)例程代码本节主要针对命令模式下对WiFi模块的控制给出上位机的示例代码。如果模块运行在自动模式,将不需要这部分内容。例程代码说明本例程代码是基于C语言编写的例程代码,可以将其移植到其他的系统中。本例程代码主要是对WiFi模块的操作给出一个操作的过程示例。在移植时需要根据自己系统的状况进行相应的修改。命令模式下Wifi网卡的操作流程通常在命令行模式下对Wifi模块的操作的流程如下图所示。在使用Wifi模块时,可以根据系统的情况决定是否进行命令行的操作。图6-3Wifi网卡操作流程示例代码主要的数据结构typedefstruct_TATCP_COMMAND{char*CmdName;INTFlag;char*Cmdbuf;INT*Cmdbuflen;}TATCP_CMD;At命令结构体说明:CmdName:At指令命令代号。Flag:该命令是否有数据返回标志。Cmdbuf:该命令所含命令内容Cmdbuiflen:命令长度串口AT指令发送标志unsignedcharAtCmdSending;说明:该标志说明有一条At指令正在发送或等待回复。不能继续下发另外,一条指令。如果用户系统使用基于操作系统的编程,可以使用信号量的机制实现。串口等待AT指令回复标志unsignedcharReciveAtCmdrep;说明:该标志代表等待某条AT指令的回复,如果使用操作系统的话,可以使用串口数据操作在串口发送每条CMD后,需要等待该命令的回复。如果本条命令没有回复,需要增加超时,将强制退出该命令。应当保证At发送命令时,串口只有一条在等待回复的At指令。串口发送指令示例intAtCmdSend(TATCP_CMD*AtCmd){unsignedcharAtCmdbuf[512];intret=0;////////AtCmd_Check();///AtCmdCheck/////strcpy(AtCmdbuf,"AT+");strcat(AtCmdbuf,AtCmd->Cmdbuf);ReciveAtCmdrep=0;ComSendstr(AtCmdbuf);AtcmdTimerId=StartTimer(MSG_CMD_TIMEOUT_CFM,TIMER_ATCMD_TIMEOUT);while(ReciveAtCmdrep!=1){if(Atcmdtimeout==1){ret=-1;break;}}StopTimer(AtcmdTimerId);returnret;}说明:本示例代码中需要系统另外提供超时处理的函数。在串口发送AtCmd后启动定时器,在给定的时间内将Atcmdtimeout置为1。以便实现Wifi模块超时后的处理。串口接收AT指令回复示例用于串口接收Wifi模块回传的响应信息,在上位机发送完成每条AT指令后需要等待WiFi模块响应或者超时(请将超时时间设置大于500ms)。本例子以51体系下串口中断为例。1、串口接收中断函数:voidCOMM_INT()interrupt4using3{unsignedcharcBuf;if(RI)//接收数据{RI=0;cBuf=SBUF;ProcessUARTData(cBuf);}elseif(TI){TI=0;if(iSendCounter<iUartSendLen)SBUF=cpSendBufPtr[iSendCounter++];}}说明:ProcessUARTData(cBuf)用来处理串口接收到的数据。2、串口接收到数据处理函数,主要数据结构描述:#defineWIFIBUFLEN1024typedefstructWiFiRecBuffer{unsignedchargcATReceData[WIFIBUFLEN];//unsignedintgcATReceCount;///接收字节长度}WiFiRecBuffer;structWiFiRecBufferxdataATReceBuffer[1];///51系统外部ram3、串口接收AT返回状态宏定义,该定义主要用于控制串口接收AT指令返回的流程。#defineWIFI_WAIT_SYN0X00////串口初始状态#defineWIFI_WAIT_R