找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2667|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机为何读取不到ESP8266透传模式下 GET到的数据

[复制链接]
跳转到指定楼层
楼主
ID:410513 发表于 2019-1-27 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题所述,想做个wifi校时时钟,前面AT返回的OK可以读取到,,后面GET返回的数据读取不到,求大神帮助,下面是部份程序
void main()
{
      delay5s();
      UsartInit();

      ESP8266_Set("AT+CWMODE_DEF=1\r\n"); //!!配置WiFi模组工作模式为单STA模式,并把配置保存在flash
      delay200ms();  delay200ms(); delay200ms(); delay200ms(); delay200ms();      
      ESP8266_Set("AT+RST\r\n"); //!!重启模块
      delay5s();
      ESP8266_Set("AT+CWJAP_DEF=\"111\",\"11111111\"\r\n");     //        !!连接网络
      delay5s();delay5s();delay5s();
      ESP8266_Set("AT+CIPMUX=0\r\n");  //设置单链接模式
      delay200ms();delay200ms();delay200ms();  
//      ESP8266_Set("AT+CWAUTOCONN=1\r\n");  //!!使能上电自动连接AP
//      delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
      ESP8266_Set("AT+CIPSTART=\"TCP\",\"api.k780.com\",88\r\n");//!!连接服务器
      delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
      ESP8266_Set("AT+CIPMODE=1\r\n");  //!!设置透传
      delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
      ESP8266_Set("AT+CIPSEND\r\n");  //!!启动发送
      delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
      ESP8266_Set("GET ' 'http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json");  //!!GET请求
      delay200ms();delay200ms();delay200ms();delay200ms();delay200ms();
      ES=1;
//      while(1)
//      {
//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"}}      
      if(Recive_table[0]=='{')//如果为S则显示1否则0
           {
             TM1650_Set_Time(0x48,0x11);
             TM1650_Set_Time(0x68,d_code[1]);            
          }






void Uart_Interrupt() interrupt 4        
{
//  static uint i=0;
      ES=0;
      if(RI)
      {
           RI=0;
           Receive=SBUF;        //MCU接收wifi模块反馈回来的数据
           if(Receive=='{')
           {
                RX_ok=0;//清除
                RX_flag=1;//开始接收
           }
              if(RX_flag=1)
              {
                  Recive_table[ii++]=Receive;
                  if(Receive=='\n')
                  {
                    Recive_table[ii]=='\n';
                    ii=0;
                    RX_flag=0;//清0表示这一次数据接收完成
                    RX_ok=1;//接收完成       
                  }
                //  if(i>=255)i=0;
              }

        //   if((Recive_table[i-1]=='\n'))i=0;  //遇到换行 重新装值

      }
      else TI=0;
     ES=1;

}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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