网站大量收购独家精品文档,联系QQ:2885784924

hlk-wifi-m03串口转wifi模块编程指南.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
hlk-wifi-m03串口转wifi模块编程指南

HLK-WIFI-M03串口转WIFI模块 (email:david@hlktech.cn 0755 tel QQ:370925732) 例程代码 本节主要针对命令模式下对WiFi模块的控制给出上位机的示例代码。如果模块运行在自动模式,将不需要这部分内容。 例程代码说明 本例程代码是基于C语言编写的例程代码,可以将其移植到其他的系统中。本例程代码主要是对WiFi模块的操作给出一个操作的过程示例。在移植时需要根据自己系统的状况进行相应的修改。 命令模式下Wifi网卡的操作流程 通常在命令行模式下对Wifi模块的操作的流程如下图所示。在使用Wifi模块时,可以根据系统的情况决定是否进行命令行的操作。 图6-3 Wifi网卡操作流程 示例代码主要的数据结构 typedef struct _TATCP_COMMAND{ char *CmdName; INT Flag; char * Cmdbuf; INT *Cmdbuflen; } TATCP_CMD; At命令结构体 说明:CmdName:At指令命令代号。 Flag:该命令是否有数据返回标志。 Cmdbuf:该命令所含命令内容 Cmdbuiflen:命令长度 串口AT指令发送标志 unsigned char AtCmdSending; 说明:该标志说明有一条At指令正在发送或等待回复。不能继续下发另外,一条指令。如果用户系统使用基于操作系统的编程,可以使用信号量的机制实现。 串口等待AT指令回复标志 unsigned char ReciveAtCmdrep; 说明:该标志代表等待某条AT指令的回复,如果使用操作系统的话,可以使用 串口数据操作 在串口发送每条CMD后,需要等待该命令的回复。如果本条命令没有回复,需要增加超时,将强制退出该命令。应当保证At发送命令时,串口只有一条在等待回复的At指令。 串口发送指令示例 int AtCmdSend(TATCP_CMD * AtCmd) { unsigned char AtCmdbuf[512]; int ret=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); return ret; } 说明:本示例代码中需要系统另外提供超时处理的函数。在串口发送At Cmd后启动定时器,在给定的时间内将Atcmdtimeout置为1。以便实现Wifi模块超时后的处理。 串口接收AT指令回复示例 用于串口接收Wifi模块回传的响应信息,在上位机发送完成每条AT指令后需要等待WiFi模块响应或者超时(请将超时时间设置大于500ms)。本例子以51体系下串口中断为例。 1、串口接收中断函数: void COMM_INT() interrupt 4 using 3 { unsigned char cBuf; if(RI)// 接收数据 { RI = 0; cBuf = SBUF; ProcessUARTData(cBuf); } else if (TI) { TI = 0; if(iSendCounter iUartSendLen) SBUF = cpSendBufPtr[iSendCounter++]; } } 说明:ProcessUARTData(cBuf)用来处理串口接收到的数据。 2、串口接收到数据处理函数,主要数据结构描述: #define WIFIBUFLEN 1024 typedef struct WiFiRecBuffer { unsigned char gcATReceData[WIFIBUFLEN]; // unsigned int gcATReceCount; ///接收字节长度

文档评论(0)

kfcel5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档