OpenEdv-开源电子网

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

精英板通过AT指令控制ESP-8266,没有回应。

[复制链接]

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2016-11-26
在线时间
49 小时
发表于 2017-3-12 15:32:02 | 显示全部楼层 |阅读模式
20金钱
  这几天在闲着没事,刚好原子送了个WIFI模块,想着调试一下,就把原来的代码,简化了一下。
  结果发现在调试的时候发现,程序编译没问题,但是串口发送AT指令,什么反应都没有,搞了很长时间了,不知道怎么搞了,求救啊。




  代码如下,将模块设置为Station模式。其他程序按照源程序。


int main(void)
   {                
                u8 *p,*q;
                delay_init();                     //延时函数初始化  
                NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断分组
                uart_init(115200);                          //串口1波特率115200
                LED_Init();                                         
                KEY_Init();                                       
                LCD_Init();                                          
             usart3_init(115200);                        //串口1波特率115200



          atk_8266_send_cmd("AT+CWMODE=1","OK",50);         //设置WIFI STA1模式         
          delay_ms(50);

          atk_8266_send_cmd("AT+RST","OK",50);            //重启         
          delay_ms(1000);
          delay_ms(1000);
          delay_ms(1000);

          sprintf((char*)p,"AT+CWJAP=\"WLCB\",\"asdf12345678\"");  //连接无线网      
          atk_8266_send_cmd(p,"OK",50);                                 
          delay_ms(50);

          sprintf((char*)q,"AT+CIPSTART=\"TCP\",\"192.168.1.55\",8086");  //TCP客户端,IP地址,端口
          atk_8266_send_cmd(q,"OK",50);                                 
          delay_ms(50);

          atk_8266_send_cmd("AT+CIPMUX=0","OK",20);            // 开启单连接   
          delay_ms(50);        

          atk_8266_send_cmd("AT+CIPMODE=1","OK",50);           //开启透传模式           
          delay_ms(50);
                                       
           atk_8266_send_cmd("AT+CIPSEND","OK",50);            //开始透传
         delay_ms(50);
         
            LED0=~LED0;                              
     while(atk_8266_consta_check())                       //检测是否成功连接
        {
                printf("TCP连接成功\r\n");
                atk_8266_send_data("success","OK",50);                               
                delay_ms(50);        
         }        
         printf("TCP连接失败\r\n");
  }



   LED0灯也不亮,不知道哪里出现了问题,麻烦大神指教  @正点原子




最佳答案

查看完整内容[请看2#楼]

找到问题了,每条指令之间的延时不够,该长就可以了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2016-11-26
在线时间
49 小时
 楼主| 发表于 2017-3-12 15:32:03 | 显示全部楼层
找到问题了,每条指令之间的延时不够,该长就可以了
回复

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2016-11-26
在线时间
49 小时
 楼主| 发表于 2017-3-12 17:09:32 | 显示全部楼层
另外,我刚刚在每一条指令后面加上液晶显示,结果表明,程序只运行带AT+RST就停止了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-3-12 18:24:17 | 显示全部楼层
仿真,看看是怎么死了?
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2017-7-10
在线时间
5 小时
发表于 2017-7-10 11:58:25 | 显示全部楼层
我也是,程序编译没问题,也可以把程序下载到stm32中运行,但是给那个串口软件发送AT指令,什么反应都没有,你是怎么解决的啊
回复

使用道具 举报

2

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
327
金钱
327
注册时间
2017-5-24
在线时间
52 小时
发表于 2017-7-14 16:44:51 | 显示全部楼层
正点原子 发表于 2017-3-12 18:24
仿真,看看是怎么死了?

原子你好,我碰到一个很奇怪的问题,我发现代码中
                if(atk_8266_send_cmd("AT+CIFSR","OK",100))//获取WAN IP地址失败
                {
                        ipbuf[0]=0;
                        printf("error!\r\n");
                        return;
                }               
我发现STA模式下TCP的SERVER模式获取不到IP地址,然后我加了串口测试代码,我发现AT+CIFSR指令没有应答,我也尝试延迟应答时间,不过还是失败
不过源码的是可以的
汝资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-25 07:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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