久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 51單片機無法接收esp8266的數據 附源程序 [打印本頁]

作者: 揩油鵬    時間: 2019-11-19 21:54
標題: 51單片機無法接收esp8266的數據 附源程序
51單片機對esp8266發送的信號沒有反應,找不到原因,求大神解決!
這是網上找的單片機代碼

  1. #include <reg52.h>
  2. #include <string.h>
  3. #include <stdio.h>

  4. sbit P20_LED=P2^0;
  5. sbit P32=P3^2;


  6. char Recive_table[20]="";  //接收緩沖,最大20個字節
  7. char Recive_state = 0;   //接收完成標志
  8. void WIFI_Init(void);
  9. void Uart_Init(void);
  10. void ms_delay(int t);
  11. void LED(void);

  12. int main (void)
  13. {
  14.         /********************功能初始化***********************/
  15.         Uart_Init();//串口初始化,波特率為9600
  16.         ms_delay(1000) ;
  17.         WIFI_Init(); //wifi初始化
  18.     P20_LED=0;
  19.         /****************************************************/
  20.         /**********************主循環************************/
  21.         while(1)
  22.         {
  23.                 ms_delay(10) ;
  24.                 if(Recive_state == 1)
  25.                 {
  26.                         ES=0;  //清空接收標志位
  27.                         if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))//接收到的字符串形式為+IPD,x,x:y
  28.                         {
  29.                             if((Recive_table[3]=='D')&&(Recive_table[6]==','))
  30.                             {   
  31.                                 if(Recive_table[9]=='0')
  32.                                         P20_LED = 0;
  33.                                         if(Recive_table[9]=='1')
  34.                                         P20_LED = 1;
  35.                                 }
  36.                         }
  37.                         memset(Recive_table,'\0',20);
  38.                         Recive_state = 0;
  39.                         ES=1;  //打開接收標志位
  40.                 }
  41.         /*if(0 == P32)    //  通過串口給手機發送字符串   wantin
  42.         {
  43.             ms_delay(400);
  44.             if(0 == P32)
  45.             {
  46.                 ES = 0;
  47.                     TI = 1;
  48.                     printf("AT+CIPSEND=?\r\n");
  49.                     LED();
  50.                     ms_delay(1000) ;
  51.                 printf("AT+CIPSEND=0,10\r\n");
  52.                     LED();
  53.                     ms_delay(1000) ;
  54.                 printf("wangting\r\n");
  55.                     LED();
  56.                     ms_delay(1000) ;
  57.                     LED();
  58.                     ms_delay(1000) ;
  59.                     LED();
  60.                     ms_delay(1000) ;
  61.                     while(!TI);
  62.                     TI = 0;
  63.                     ES = 1;
  64.             }
  65.             while(0 == P32);
  66.         } */
  67.         }
  68.         /****************************************************/
  69.          
  70. }

  71. /******************************************************************
  72. 函 數: void Uart_Interrupt() interrupt 4
  73. 功 能: 串口中斷函數,將收到的字符存到Recive_table[]數組中
  74. 參 數: 無
  75. 返回值: 無
  76. *******************************************************************/
  77. void Uart_Interrupt() interrupt 4         
  78. {   
  79.         static char i=0;  //因為是一位一位接收,所以用static
  80.         if(RI==1)   
  81.         {  
  82.                 ES = 0;
  83.                 RI=0;         
  84.                 Recive_table[i]=SBUF;        
  85.                 i++;
  86.                 if((Recive_table[i-1] == '\n'))
  87.                 {
  88.                         Recive_table[i]='\0';
  89.                         i=0;
  90.                         Recive_state = 1;
  91.                 }
  92.                 ES = 1;      
  93.         }
  94.         else
  95.         TI = 0;     
  96. }

  97. /******************************************************************
  98. 函 數: void Uart_Init(void)
  99. 功 能: 串口初始化,波特率為9600(這個不會,上網百度)
  100. 參 數: 無
  101. 返回值: 無
  102. *******************************************************************/
  103. void Uart_Init(void)
  104. {  
  105.         TMOD=0x20;
  106.         TH1=0xfD;
  107.         TL1=0xfD;
  108.         TR1=1;
  109.         REN=1;
  110.         SM0=0;
  111.         SM1=1;
  112.         EA=1;
  113.         ES=1;
  114. }

  115. /******************************************************************
  116. 函 數: void ms_delay(int t)
  117. 功 能: 毫秒級延時
  118. 參 數: 無
  119. 返回值: 無
  120. *******************************************************************/
  121. void ms_delay(int t)
  122. {  
  123.         int i,j;
  124.         for(i=t;i>0;i--)   
  125.                 for(j=110;j>0;j--);
  126. }

  127. /******************************************************************
  128. 函 數: void LED(void)
  129. 功 能: 發送完命令后顯示用的函數
  130. 參 數: 無
  131. 返回值: 無
  132. *******************************************************************/
  133. void LED(void)
  134. {
  135.         P2 = 0;
  136.         ms_delay(100);
  137.         P2 = 0xff;
  138.         ms_delay(100);
  139. }


  140. /******************************************************************
  141. 函 數: void WIFI_Init(void)
  142. 功 能: wifi初始化(名字:esp8266;密碼:1234567890)
  143. 參 數: 無
  144. 返回值: 無
  145. *******************************************************************/
  146. void WIFI_Init(void)
  147. {
  148.         ES = 0;
  149.         TI = 1;
  150.         printf("AT+RST\r\n");
  151.         LED();
  152.         ms_delay(1000) ;
  153.         printf("AT+CWMODE=3\r\n");
  154.         LED();
  155.         ms_delay(1000) ;
  156.         printf("AT+CIPMUX=1\r\n");
  157.         LED();
  158.         ms_delay(1000) ;
  159.         printf("AT+CIPSERVER=1,8080\r\n");        
  160.         LED();
  161.         ms_delay(1000) ;
  162.     printf("AT+CIOBAUD=9600\r\n");   // 設置與單片機一致的波特率     
  163.         LED();
  164.         ms_delay(1000) ;
  165.         while(!TI);
  166.         TI = 0;
  167.         ES = 1;
  168. }
復制代碼

這是esp8266的燒錄


我的8266運行的波特率9600,與51單片機RX TX端口沒有接錯,但3.3v供電還是用的ttl。嘗試過電腦網絡調試助手監控,手機網絡助手發送1字符時,電腦網絡助手可以收到31。但8266連上51就什么反應都沒有,不知道是哪里錯了,求大神解決!

作者: 來51學習1    時間: 2019-11-20 09:19
看一下單片機的晶振用的多少?應該用 11.0592
作者: pcbboy    時間: 2019-11-20 10:17
RX端口上拉電阻沒?上個電路圖看看。
作者: pcbboy    時間: 2019-11-20 10:23
樓主能發一下你那些燒錄文件嗎?我也想看看你這個程序行不行,我也有一個模塊正在玩。有啥測試APP一起共享一下吧
作者: 揩油鵬    時間: 2019-11-20 21:26
來51學習1 發表于 2019-11-20 09:19
看一下單片機的晶振用的多少?應該用 11.0592

是11.0592沒錯的
作者: 揩油鵬    時間: 2019-11-20 21:28
pcbboy 發表于 2019-11-20 10:17
RX端口上拉電阻沒?上個電路圖看看。

需要上拉電阻嗎,我直接接上的,rx tx直接反接
作者: 揩油鵬    時間: 2019-11-20 21:34
pcbboy 發表于 2019-11-20 10:23
樓主能發一下你那些燒錄文件嗎?我也想看看你這個程序行不行,我也有一個模塊正在玩。有啥測試APP一起共享 ...

esp_iot_sdk_v1.4.0.rar (3.32 MB, 下載次數: 30)
手機軟件就搜索有人網絡助手就可以了

作者: y曉風殘月    時間: 2019-12-18 19:31
我也是同樣的情況 安到單片機上就沒法連接了
作者: y曉風殘月    時間: 2019-12-18 19:34
樓主的問題解決了沒有啊
作者: DFFFGH    時間: 2019-12-26 21:26
我也在做相關的項目群主可不可以分享下APP端的源碼呀,這個怎么實現的呀,交流交流呀
作者: 追蝴蝶的貓    時間: 2019-12-29 18:14
樓主問題解決了嗎,我也是ESP8266的數據不能傳到51單片機,能分享一下方法嗎,非常感謝
作者: jizhongbiao    時間: 2020-1-8 13:55
esp8266是比較耗電的,檢查一下你的電源功率夠不夠。
作者: 善良仁    時間: 2020-1-12 19:41
這個問題也困擾我好久了,希望可以得到解決。
作者: hupeilins    時間: 2020-1-22 11:54
有人解決了嗎?
作者: lwh999995    時間: 2020-1-22 15:29
重燒入新版本的AT固件吧,樂鑫官網有下載。
其實AT太繁瑣了,有的設置還不能保存,斷電就復位了,用SDK好多了
作者: zhy123654    時間: 2020-1-22 17:17
如果在電腦上測試可以在單片機上不行的話那就說明你單片機里面發送數據的程序有問題,我沒有用printf函數,直接是用字符串輸出,用起來完全沒有問題
作者: 51hei**1140    時間: 2020-1-22 22:19
hupeilins 發表于 2020-1-22 11:54
有人解決了嗎?

你好!給你看一個LUA語音固件的ESP8266模塊
https://blog.csdn.net/cjjcjj1/article/details/103573759
作者: 784681035    時間: 2020-4-30 00:00
請問,您解決了嗎。
作者: 784681035    時間: 2020-4-30 00:00
他是數組中第一個字節就放數據了?
作者: dubolin    時間: 2020-5-1 15:30
有人解決了嗎?可以分享一下嗎,非常感謝。
作者: chromalyl    時間: 2020-6-12 16:12
同問,有人解決了嗎?
作者: 阿飛7812    時間: 2020-8-5 21:00
我也做了一個 情況跟你的一樣
作者: Roy-2010    時間: 2020-8-6 13:40
阿飛7812 發表于 2020-8-5 21:00
我也做了一個 情況跟你的一樣

說明這玩意本來就是這樣唄,如果不急用就代替吧【滑稽】
作者: 阿飛7812    時間: 2020-8-18 21:27
樓主 你說問題找到了 首先模塊和單片一同上電  ,手機WIFI相連 ,單片機手動復位 ,打開APP就一切OK了  通電后要手動復位才行  ,這一點問題知怎么解決.




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一区二区三区视频在线观看 | 久久在线看 | 亚洲精品视频免费 | 亚洲精品一 | 国产免费拔擦拔擦8x高清 | 日本网站免费在线观看 | 九一在线 | 一级看片 | 日韩在线电影 | 国产精品网址 | 久久在线 | 欧美精品一区三区 | 一本色道精品久久一区二区三区 | 精品福利一区 | 国产精品一区二区三区四区 | 中文精品视频 | 欧美在线一区二区三区 | 国产麻豆乱码精品一区二区三区 | 国产女人与拘做受视频 | 国产99久久精品一区二区300 | 亚洲一区免费 | 久久久这里都是精品 | 国产在线播 | 天天操网 | 老牛影视av一区二区在线观看 | 国精日本亚洲欧州国产中文久久 | 国产美女特级嫩嫩嫩bbb片 | 91久久综合亚洲鲁鲁五月天 | 国产午夜精品一区二区三区在线观看 | 操亚洲| 久久99精品国产 | 人妖一区 | 成人国产精品久久 | 国产 日韩 欧美 制服 另类 | 久久国内 | 久久精品中文字幕 | 亚洲风情在线观看 | 97伦理电影 | 亚洲第一在线 | 国产一区91精品张津瑜 | 亚洲天堂日韩精品 |