2862|1

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

单片机连接ESP8266点亮LED问题 [复制链接]

正在学习ESP8266或者已经会了的坛友们,想请问如下代码有没有问题呢?
单片机和ESP8266连接正常,但是执行代码后,用手机或者电脑网络调试助手给ESP发1,LED只是闪烁一下,而且收不到ESP发送的打开和关闭,这是为什么呢?

  • #include
  • #include
  • #define uchar unsigned char
  • #define uint unsigned int
  • sbit led=P1^0;
  • uchar Receive,i;
  • uint n;
  • uchar Recive_table[15];
  • void ms_delay(uint t)
  • {
  •       uint i,j;
  •       for(i=t;i>0;i--)
  •        for(j=110;j>0;j--);
  • }
  • void us_delay(uchar t)
  • {
  •       while(t--);
  • }
  • void Uart_Init()                //波特率发生器
  • {
  •       SCON=0x50;
  •       PCON=0x00;
  •       TMOD=0x21;
  •       TH1=0xfd;
  •       TL1=0xfd;
  •       EA=1;
  •       ES=1;
  •       TR1=1;
  •       ET1=0;
  • }
  • void Send_Uart(uchar value)              //串口发送函数
  • {
  •       ES=0;
  •       TI=0;
  •       SBUF=value;
  •       while(TI==0);
  •       TI=0;
  •       ES=1;
  • }
  • void ESP8266_Set(uchar *puf)                    //wifi设置函数
  • {
  •       while(*puf!='\0')
  •       {
  •            Send_Uart(*puf);
  •            us_delay(5);
  •            puf++;
  •       }
  •       us_delay(5);
  •       Send_Uart('\r');
  •       us_delay(5);
  •       Send_Uart('\n');
  • }
  • void ESP8266_Sent(uchar *puf)             //发送数据函数
  • {
  •       ESP8266_Set("AT+CIPSEND=0,4");
  •       while(*puf!='\0')
  •       {
  •            Send_Uart(*puf);
  •            us_delay(5);
  •            puf++;
  •       }
  •       us_delay(5);
  •       Send_Uart('\n');
  •       ms_delay(10);
  • }
  • void main()
  • {
  •             Uart_Init();
  •                   led=1;
  •                   ESP8266_Set("AT+CWMODE=2");
  •                         ms_delay(1000);
  •                         ESP8266_Set("AT+CIOBAUD=9600");
  •                         ms_delay(1000);
  •                         ESP8266_Set("AT+CIPMUX=1");
  •                         ms_delay(1000);
  •       ESP8266_Set("AT+CIPSERVER=1,8080");
  •                         ms_delay(1000);
  •                         ES=1;
  •          while(1)
  •          {
  •                 if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))
  •             {
  •                 if((Recive_table[3]=='D')&&(Recive_table[6]==','))
  •                      {
  •                            if(Recive_table[9]=='0')
  •                             {
  •                              led=0;                                                                                                                             ESP8266_Sent("关闭");
  •                             }
  •                            else if (Recive_table[9]=='1')
  •                             {
  •                                 led=1;
  •                                  ESP8266_Sent("打开");
  •                                                                                                                 }
  •                      }
  •                                          }
  •     }
  • }
  • void Uart_Interrupt() interrupt 4                   //串行通讯中断
  • {
  •         static uchar i=0;
  •         if(RI==1)
  •         {
  •                 RI=0;
  •                 Receive=SBUF;
  •                 Recive_table=Receive;
  •                 if((Recive_table=='\n'))
  •                 {
  •                         i=0;
  •                 }
  •                 else i++;
  •         }
  •         else TI=0;
  • }


此帖出自51单片机论坛

最新回复

查一下esp8266发射逻辑看看  详情 回复 发表于 2018-11-18 11:32
点赞 关注(1)
 

回复
举报

25

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
查一下esp8266发射逻辑看看
此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表