找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1972|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)控制ESP8266的代碼問題

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 4 黑幣 回復(fù)本帖可獲得 4 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:403916 發(fā)表于 2018-11-16 21:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
正在學(xué)ESP8266或者已經(jīng)會(huì)了的壇友們,想請(qǐng)問這個(gè)代碼有問題嗎?
模塊和單片機(jī)連接沒有什么問題,但是執(zhí)行代碼后,給ESP發(fā)送1,LED只會(huì)閃爍一下,添加了延時(shí)也這樣,而且也收不到ESP發(fā)送的打開和關(guān)閉,是什么原因呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:403916 發(fā)表于 2018-11-16 21:13 | 只看該作者
發(fā)錯(cuò)了代碼,這個(gè)才是
  1. #include<reg52.h>
  2. #include<intrins.h>       
  3. #define uchar unsigned char
  4. #define uint unsigned int   
  5. sbit led=P1^0;
  6. uchar Receive,i;                             
  7. uint n;
  8. uchar Recive_table[15];  
  9. void ms_delay(uint t)
  10. {
  11.       uint i,j;
  12.       for(i=t;i>0;i--)
  13.        for(j=110;j>0;j--);
  14. }

  15. void us_delay(uchar t)
  16. {
  17.       while(t--);
  18. }


  19. void Uart_Init()
  20. {
  21.       SCON=0x50;     
  22.       PCON=0x00;     
  23.       TMOD=0x21;   
  24.       TH1=0xfd;
  25.       TL1=0xfd;
  26.       EA=1;                           
  27.       ES=1;                             
  28.       TR1=1;   
  29. }

  30. void Send_Uart(uchar value)
  31. {
  32.       ES=0;         
  33.       TI=0;         
  34.       SBUF=value;     
  35.       while(TI==0);   
  36.       TI=0;         
  37.       ES=1;         
  38. }

  39. void ESP8266_Set(uchar *puf)               
  40. {

  41.       while(*puf!='\0')   
  42.       {
  43.            Send_Uart(*puf);  
  44.            us_delay(5);
  45.            puf++;      
  46.       }
  47.       us_delay(5);
  48.       Send_Uart('\r');
  49.       us_delay(5);
  50.       Send_Uart('\n');   
  51.       
  52. }   

  53. void ESP8266_Sent(uchar *puf)                  
  54. {
  55.       ESP8266_Set("AT+CIPSEND=0,2");
  56.       while(*puf!='\0')   
  57.       {
  58.            Send_Uart(*puf);   
  59.            us_delay(5);
  60.            puf++;      
  61.       }
  62.       us_delay(5);
  63.       Send_Uart('\n');   
  64.       ms_delay(10);
  65. }   


  66. void main()
  67. {       
  68.             Uart_Init();
  69.                         ms_delay(500);
  70.                         led=0;
  71.                   ESP8266_Set("AT+CWMODE=2");
  72.                         ms_delay(500);
  73.                         ESP8266_Set("AT+CIOBAUD=9600");
  74.                         ms_delay(500);
  75.                         ESP8266_Set("AT+CWSAP=\"hello\",\"12345678\",1,3");
  76.                         ms_delay(500);
  77.                         ESP8266_Set("AT+CIPMUX=1");
  78.                         ms_delay(500);
  79.       ESP8266_Set("AT+CIPSERVER=1,8000");
  80.                         ms_delay(500);
  81.                         ESP8266_Set("AT+CIPSTO=0");
  82.                         ES=1;
  83.          while(1)
  84.          {       
  85.                 if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))
  86.             {
  87.                 if((Recive_table[3]=='D')&&(Recive_table[6]==','))
  88.                      {   
  89.                            if(Recive_table[9]=='0')
  90.                             {
  91.                                                                                                                          led=0;
  92.                                                                                                                        
  93.                                                                                                                         ESP8266_Sent("OFF");
  94.                             }

  95.                            else if(Recive_table[9]=='1')
  96.                             {                                
  97.                                                                                                                          led=1;
  98.                                                                                                                         ESP8266_Sent("ON");                 
  99.                                                                                                                 }
  100.                      }   
  101.                                          }      
  102.     }         
  103. }

  104. void Uart_Interrupt() interrupt 4         
  105. {   
  106.         static uchar i=0;  
  107.         if(RI==1)  
  108.         {   
  109.                 RI=0;   
  110.                 Receive=SBUF;                                                       
  111.                 Recive_table[i]=Receive;   
  112.                 if((Recive_table[i]=='\n'))
  113.                 {                     
  114.                         i=0;
  115.                 }   
  116.                 else i++;                                                                         
  117.         }   
  118.         else TI=0;   
  119. }  

復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

板凳
ID:303383 發(fā)表于 2018-11-16 22:15 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表