OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2307|回复: 3

esp8266的CIPSTART指令发出后没连接上也会返回OK为什么呢?

[复制链接]

29

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2018-8-3
在线时间
48 小时
发表于 2019-4-2 15:48:22 | 显示全部楼层 |阅读模式
1金钱
atk_8266_send_cmd("AT+CIPMUX=0","OK",20);  
sprintf((char*)p,"AT+CIPSTART=\"TCP\",\"192.168.000.101\",%s,2000",(u8*)portnum);  ceshi=6;  //,,ipbuf 2000ÅäÖÃÄ¿±êTCP·tÎñÆ÷,2000
//                        delay_ms(300);
ceshi=atk_8266_send_cmd(p,"OK",200);

这里本来没连接上ceshi应该=1的,可是每次都是0 。但是调试过程中设置断点的情况下,ceshi就是0正常了。所以在前面加了一个延时试了一下也正常了。而且这个延时小于200ms的时候ceshi还是会直接成为0,也就是8266认为连接上了服务器。或者说它在没连接上的情况下匆匆忙忙也返回了一个OK。

原子哥的原文是
atk_8266_send_cmd("AT+CIPMUX=0","OK",20);  
                        sprintf((char*)p,"AT+CIPSTART=\"TCP\",\"%s\",%s",ipbuf,(u8*)portnum);    //ÅäÖÃÄ¿±êTCP·tÎñÆ÷
                        while(atk_8266_send_cmd(p,"OK",200))
                        {。。。。。“连接服务器没有成功哦”。。。。}

我就是稍微改了一下发现,连接不上服务器的时候这个while也进不去

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2018-8-3
在线时间
48 小时
 楼主| 发表于 2019-4-2 15:53:36 | 显示全部楼层
本帖最后由 三十岁大叔 于 2019-4-2 16:58 编辑

不对,是这个指令前面要延迟一会atk_8266_send_cmd("AT+CIPMUX=0","OK",20);原子哥本来的这个语句之前是键盘输入设置ip,这一段时间就相当于ESP8266延时了一会了,我把这一步骤去了,直接把IP赋给ipbuf了,然后继续执行下面,就遇到了本不应该得到OK的指令也得到了OK
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2019-4-25
在线时间
3 小时
发表于 2019-4-25 21:05:09 | 显示全部楼层
三十岁大叔 发表于 2019-4-2 15:53
不对,是这个指令前面要延迟一会atk_8266_send_cmd("AT+CIPMUX=0","OK",20);原子哥本来的这个语句之前是键 ...

请问这个问题解决了吗……同样连接不上服务器……
回复

使用道具 举报

29

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2018-8-3
在线时间
48 小时
 楼主| 发表于 2019-4-30 01:31:02 | 显示全部楼层
北城别 发表于 2019-4-25 21:05
请问这个问题解决了吗……同样连接不上服务器……

不知道你那是什么问题,我这个帖子当时出现问题是因为at指令回复有时候不是特别迅速,导致下一个指令发出的时候才收到上一个指令的OK,引起了错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 01:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表