完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在学习ESP8266型号的WIFI模块,将原子哥的例程下载进去战舰V3后,lcd屏幕一直在闪动,看提示说KEY0_PRESS 进入STA模式,完全没有作用,程序一直在复位,所以不能往下执行,大家遇到过这种情况??@原子哥@大家
|
|
相关推荐
7个回答
|
|
是不是供电不足?
|
|
|
|
送你个我自己写的ESP8266的程序,三种工作模式,可以参考下各种模式的工作流程,个人感觉自己写的挺清楚的了~~~ ESP8266.c文件上半部分如下: [C] 纯文本查看 复制代码 /********************************************************************************* *模块名称 : ESP8266 WIFI模块 *文件名称 : esp8266.c*说 明 : 实现WIFI模块的客户端与服务器模式的TCP通信*********************************************************************************/#include "usart3.h"#include "stdio.h"#include "stdlib.h"#include "esp8266.h"#include "string.h"#include "delay.h"#define MAXRECVBUFF USART3_BUFF#define DEBUG_EN 1//模块工作模式#define MODULE_SERVER 1#define MODULE_CLIENT 2#define MODULE_SERCLI 3//指令列表#define AT "ATrn"#define ATRES "AT+RSTrn"#define ATCIPSERVER "AT+CIPSERVER=1,%drn" //服务器模式下,设置端口#define ATCWMODE "AT+CWMODE=%drn" //模块工作模式#define ATCWMODE_CX "AT+CWMODE?rn" //查询wifi工作模式#define ATCWLAPx "AT+CWLAPrn" //显示无线列表#define ATCWJAPj "AT+CWJAP="%s","%s"rn" //加入无线网络#define ATCIPMUX "AT+CIPMUX=1rn" //开启多联模式#define ATCIPSTART(x) ((x)?"AT+CIPSTART=2,"TCP","%s",%drn" :"AT+CIPSTART="UDP","%s",%drn") //连接服务器、透传模式#define ATCIPSEND(x) ((x)?"AT+CIPSEND=%d,%drn" :"AT+CIPSENDrn") //发送数据字节、进入透传模式#define ATCWSAP "AT+CWSAP="%s","%s",1,%drn" //创建WIFI热点#define ATCWSAP_CX "AT+CWSAP?rn" //查询wifi热点设置信息#define ATCIPSTO "AT+CIPSTO=%drn" //服务器模式下,链接超时时间#define ATCIPSTATUS "AT+CIPSTATUSrn" //获得链接状态#define ATCIPMODE "AT+CIPMODE=1rn" //透传模式设置#define CLOSEDTU "+++" //关闭透传//指令IDenum order{_AT = 1,_ATRES,_ATCIPSERVER,_ATCWMODE, _ATCWMODE_CX,_ATCWLAPx,_ATCWJAPj,_ATCIPMUX, _ATCIPSTART,_ATCIPSEND,_ATDATA,_SENDDATAEND,_ATCWSAP,_ATCIPSTO,_ATCWSAP_CX,_ATCIPSTATUS,_ATCIPMODE,_CLOSEDTU};struct WifiData{ char *order; // 命令 int olen; // 命令长度 enum order type; // 命令类型}; static char wifi_Data[MAXRECVBUFF]={0};static int wifi_Dlen = 0;/*AT+CIPSTATUSSTATUS:3+CIPSTATUS:0,"TCP","192.168.4.100",60154,1+CIPSTATUS:2,"TCP","192.168.10.75",8080,0*/char Client_Link_id = ERROR_LINK_ID; //客户连接的ID号char Server_Link_id = ERROR_LINK_ID; //服务器连接的ID号static char Recv_Link_id = ERROR_LINK_ID; //当有数据来时,记录下IDstatic char SearchWifiName[50]=""; //需要查询的wifi名static char Dtu_flay = 0; //透传状态标志/********************************************************* * @function read_wifi_list * @role 解析wifi列表 * @input 接收到的数据 * @output None * @return wifi数目 ********************************************************//*static int read_wifi_list(char *pData){char *p = pData;char *pNext = p;char node[5]="";int i = wifinum, j = 0;while(((p = strstr(pNext,"+CWLAP:(")) != 0) && (i < 25)){p += 8;wifitype = 0;wifitype = p[0] - 48;p = strchr(p,'"'); p++;for (j = 0; (*p != '"') && (*p != ' |