找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3485|回复: 2
收起左侧

51单片机如何读取ESP8266透传模式下 GET到的时间数据

[复制链接]
ID:410513 发表于 2019-1-28 15:03 | 显示全部楼层 |阅读模式
12黑币
题所述,想做个wifi校时时钟,前面AT返回的OK可以读取到,,后面GET返回的数据读取不到,求大神帮助,下面是部份程序(AT命令返回的OK可以读取到,让数码管显示1,但是GET后的数据就读不到了)
  1. void main()
  2. {
  3.   
  4.       delay5s();
  5.       UsartInit();
  6.       ESP8266_Set("+++");  //!!退出透传
  7.       delay200ms();
  8.       ESP8266_Set("\r\n");  //!!回车换行
  9.       delay200ms();delay200ms();delay200ms();
  10.       ESP8266_Set("AT+CWMODE_DEF=1\r\n"); //!!配置WiFi模组工作模式为单STA模式,并把配置保存在flash
  11.       delay200ms();  delay200ms(); delay200ms(); delay200ms(); delay200ms();      
  12.       ESP8266_Set("AT+RST\r\n"); //!!重启模块
  13.       delay5s();delay5s();
  14.       ESP8266_Set("AT+CWJAP_DEF=\"111\",\"11111111\"\r\n");     //        !!连接网络
  15.       delay5s();delay5s();delay5s();
  16.       ESP8266_Set("AT+CIPMUX=0\r\n");  //设置单链接模式
  17.       delay200ms();delay200ms();delay200ms();  
  18.       ESP8266_Set("AT+CWAUTOCONN=1\r\n");  //!!使能上电自动连接AP
  19.       delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
  20.       ESP8266_Set("AT+CIPSTART=\"TCP\",\"time.beijing-time.org\",80\r\n");//!!连接服务器
  21.       delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
  22.       ESP8266_Set("AT+CIPMODE=1\r\n");  //!!设置透传
  23.       delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
  24.       ESP8266_Set("AT+CIPSEND\r\n");  //!!启动发送
  25.       delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
  26.       ESP8266_Set("GET http://time.beijing-time.org/time.asp");  //!!GET请求
  27.       delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
  28.       ES=1;
  29. //get返回{"success":"1","result":{"timestamp":"1548490735","datetime_1":"2019-01-26 16:18:55","datetime_2":"2019年01月26日 16时18分55秒","week_1":"6","week_2":"星期六","week_3":"周六","week_4":"Saturday"}}      
  30.       if(Recive_table[0]=='s')//如果为S则显示1否则0
  31.            {
  32.              TM1650_Set_Time(0x48,0x11);
  33.              TM1650_Set_Time(0x68,d_code[1]);            
  34.           }
  35.        else
  36.        {
  37.              TM1650_Set_Time(0x48,0x11);
  38.              TM1650_Set_Time(0x68,d_code[0]);  
  39.        }


  40. //---------------------------------------下面是中断
  41. void Uart_Interrupt() interrupt 4        
  42. {
  43.       ES=0;
  44.       if(RI)
  45.       {
  46.            
  47.            Receive=SBUF;        //MCU接收wifi模块反馈回来的数据
  48.            if(Receive=='s')
  49.            {
  50.                 RX_ok=0;//清除
  51.                 RX_flag=1;//开始接收
  52.            }
  53.               if(RX_flag=1)
  54.               {
  55.                   Recive_table[ii++]=Receive;
  56.                   if(Receive=='\n')
  57.                   {
  58.                     Recive_table[ii]=='\n';
  59.                     //ii=0;
  60.                     RX_flag=0;//清0表示这一次数据接收完成
  61.                     RX_ok=1;//接收完成       
  62.                   }
  63.               }
  64.            RI=0;   
  65.       }
  66.       else TI=0;
  67.      ES=1;  
  68. }
复制代码



回复

使用道具 举报

ID:337308 发表于 2019-4-11 23:15 | 显示全部楼层
你好。我和你做的东西差不多,估计坑你也走过了,想像你请求这方面的问题,能给我个联系方式么?
回复

使用道具 举报

ID:337308 发表于 2019-4-11 23:16 | 显示全部楼层
我私你联系方式了,希望你能帮帮我
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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