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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6584|回復: 23
打印 上一主題 下一主題
收起左側

51單片機無法接收esp8266的數據 附源程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:642933 發表于 2019-11-19 21:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
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就什么反應都沒有,不知道是哪里錯了,求大神解決!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:617449 發表于 2019-11-20 09:19 | 只看該作者
看一下單片機的晶振用的多少?應該用 11.0592
回復

使用道具 舉報

板凳
ID:25310 發表于 2019-11-20 10:17 | 只看該作者
RX端口上拉電阻沒?上個電路圖看看。
回復

使用道具 舉報

地板
ID:25310 發表于 2019-11-20 10:23 | 只看該作者
樓主能發一下你那些燒錄文件嗎?我也想看看你這個程序行不行,我也有一個模塊正在玩。有啥測試APP一起共享一下吧
回復

使用道具 舉報

5#
ID:642933 發表于 2019-11-20 21:26 | 只看該作者
來51學習1 發表于 2019-11-20 09:19
看一下單片機的晶振用的多少?應該用 11.0592

是11.0592沒錯的
回復

使用道具 舉報

6#
ID:642933 發表于 2019-11-20 21:28 | 只看該作者
pcbboy 發表于 2019-11-20 10:17
RX端口上拉電阻沒?上個電路圖看看。

需要上拉電阻嗎,我直接接上的,rx tx直接反接
回復

使用道具 舉報

7#
ID:642933 發表于 2019-11-20 21:34 | 只看該作者
pcbboy 發表于 2019-11-20 10:23
樓主能發一下你那些燒錄文件嗎?我也想看看你這個程序行不行,我也有一個模塊正在玩。有啥測試APP一起共享 ...

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

使用道具 舉報

8#
ID:233456 發表于 2019-12-18 19:31 來自手機 | 只看該作者
我也是同樣的情況 安到單片機上就沒法連接了
回復

使用道具 舉報

9#
ID:233456 發表于 2019-12-18 19:34 來自手機 | 只看該作者
樓主的問題解決了沒有啊
回復

使用道具 舉報

10#
ID:673765 發表于 2019-12-26 21:26 | 只看該作者
我也在做相關的項目群主可不可以分享下APP端的源碼呀,這個怎么實現的呀,交流交流呀
回復

使用道具 舉報

11#
ID:585014 發表于 2019-12-29 18:14 | 只看該作者
樓主問題解決了嗎,我也是ESP8266的數據不能傳到51單片機,能分享一下方法嗎,非常感謝
回復

使用道具 舉報

12#
ID:130230 發表于 2020-1-8 13:55 | 只看該作者
esp8266是比較耗電的,檢查一下你的電源功率夠不夠。
回復

使用道具 舉報

13#
ID:332041 發表于 2020-1-12 19:41 | 只看該作者
這個問題也困擾我好久了,希望可以得到解決。
回復

使用道具 舉報

14#
ID:646836 發表于 2020-1-22 11:54 | 只看該作者
有人解決了嗎?
回復

使用道具 舉報

15#
ID:207421 發表于 2020-1-22 15:29 | 只看該作者
重燒入新版本的AT固件吧,樂鑫官網有下載。
其實AT太繁瑣了,有的設置還不能保存,斷電就復位了,用SDK好多了
回復

使用道具 舉報

16#
ID:437615 發表于 2020-1-22 17:17 來自手機 | 只看該作者
如果在電腦上測試可以在單片機上不行的話那就說明你單片機里面發送數據的程序有問題,我沒有用printf函數,直接是用字符串輸出,用起來完全沒有問題
回復

使用道具 舉報

17#
ID:648281 發表于 2020-1-22 22:19 | 只看該作者

你好!給你看一個LUA語音固件的ESP8266模塊
https://blog.csdn.net/cjjcjj1/article/details/103573759
回復

使用道具 舉報

18#
ID:719556 發表于 2020-4-30 00:00 來自手機 | 只看該作者
請問,您解決了嗎。
回復

使用道具 舉報

19#
ID:719556 發表于 2020-4-30 00:00 來自手機 | 只看該作者
他是數組中第一個字節就放數據了?
回復

使用道具 舉報

20#
ID:716914 發表于 2020-5-1 15:30 | 只看該作者
有人解決了嗎?可以分享一下嗎,非常感謝。
回復

使用道具 舉報

21#
ID:26508 發表于 2020-6-12 16:12 | 只看該作者
同問,有人解決了嗎?
回復

使用道具 舉報

22#
ID:65237 發表于 2020-8-5 21:00 | 只看該作者
我也做了一個 情況跟你的一樣
回復

使用道具 舉報

23#
ID:809311 發表于 2020-8-6 13:40 | 只看該作者
阿飛7812 發表于 2020-8-5 21:00
我也做了一個 情況跟你的一樣

說明這玩意本來就是這樣唄,如果不急用就代替吧【滑稽】
回復

使用道具 舉報

24#
ID:65237 發表于 2020-8-18 21:27 | 只看該作者
樓主 你說問題找到了 首先模塊和單片一同上電  ,手機WIFI相連 ,單片機手動復位 ,打開APP就一切OK了  通電后要手動復位才行  ,這一點問題知怎么解決.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久国产精品久久久久久久久久 | 国产一区二区三区在线免费观看 | 在线观看亚洲专区 | 天堂色| 久在线精品视频 | 亚洲第一成人影院 | 国产电影一区二区在线观看 | 黑人巨大精品欧美一区二区免费 | 一级一级毛片免费看 | 丁香一区二区 | 日韩精品在线播放 | 成人精品国产免费网站 | 亚洲电影一级片 | 黄免费观看视频 | 午夜小视频免费观看 | 羞羞在线视频 | 欧美一区二区在线播放 | 亚洲免费在线观看av | 亚洲精品一区二区三区蜜桃久 | 亚洲看片| 视频在线观看亚洲 | 日本福利视频免费观看 | 中文字幕一区二区三区在线观看 | 亚洲理论在线观看电影 | 黄a网站| 日韩一区二区三区四区五区六区 | 亚洲福利av | 久久精品国产一区二区电影 | 精品视频一区二区三区四区 | 自拍 亚洲 欧美 老师 丝袜 | 2022国产精品 | 久热精品在线播放 | 综合九九 | 一本色道久久综合亚洲精品高清 | 亚洲精品一区二区三区蜜桃久 | 日韩一级免费电影 | 91精品国产91久久久久久最新 | 亚洲国产成人久久综合一区,久久久国产99 | 国产精品免费视频一区 | 亚洲免费视频在线观看 | 久久成人久久 |