中级会员
- 积分
- 292
- 金钱
- 292
- 注册时间
- 2016-1-2
- 在线时间
- 80 小时
|
10金钱
声明下,不是伸手党,弄了好几天。
先说下背景,用原子学习版上的WIFI做STA模式下的TCP服务器,用另一个32c8t6最小系统连接wifi,作为客户端。
最开始调试时,两块wifi,调通。(即,wifi模块通过串口和电脑连接,电脑用串口助手,一步一步调通,两个模块间可以通讯)
参考串口助手调试过程,编写客户端的程序。如下。昨天进行时,学习版上提示,连接成功,就去休息了。
今天再来调试发现,有时候程序卡在连接网络,有时候学习版上也会提示连接成功。
刚才在调试中发现,第二部重启的调试信息出现后,花费4分钟,第三部的调试信息才出来。
当我用串口时候,可以说立即有反馈信息。
有时候按复位,第三 部分的调试信息出现,同时服务器端的液晶屏上,也会提示连接成功(过一会就又提示连接失败了),但是客户端第四 部分的调试信息不出来呀。
弄得我不知道到底是连接还是没有连接。
真的是没有思路了,恳求给思路
//第一:设置模块 WIFI 模式;可以为 1——STA或者3——STA+AP 模式
while(ESP_8266_send_cmd("AT+CWMODE=3","OK",20));
delay_ms(10);
//第二:模块重启生效
while(ESP_8266_send_cmd("AT+RST","OK",20));
delay_ms(10);
LCD_Pos_String(4,2,"15"); //这个事我用来进行调试用的,最常见的就是重启成功,卡在连接网络这里
//第三:设置模块AP参数 。AT+CWJAP="north-2-201","xuzhuanglin121"
sprintf((char*)p,"AT+CWJAP=\"north-2-201\",\"xuzhuanglin121\"");
while(ESP_8266_send_cmd(p,"OK",20));
delay_ms(10);
LCD_Pos_String(0,2,"65"); //这个调试信息 很少出现
//第四:建立 TCP 连接到” 192.168.1.116”,8086
sprintf((char*)q,"AT+CIPSTART=\"TCP\",\"192.168.1.116\",8086");
while(ESP_8266_send_cmd(q,"OK",20));
delay_ms(10);
LCD_Pos_String(0,3,"连接TCP 成功");
//开启单链接,我用串口助手进行调试时,这个单链接未开启,也能传输数据
// while(ESP_8266_send_cmd("AT+CIPMUX=0","OK",20));
// delay_ms(10);
//开启透射模式(仅单链接有效)
while(ESP_8266_send_cmd("AT+CIPMOD=1","OK",20));
delay_ms(10);
while(ESP_8266_consta_check())
{
LCD_Pos_String(0,3,"连接TCP 失败"); //连接失败 delay_ms(20);
}
LCD_Pos_String(2,3,"连接TCP 成功"); //连接失败
|
|