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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4951|回復: 6
收起左側

51單片機控制esp8266至今沒搞明白單片機是要如何才能發送指令給8266

[復制鏈接]
ID:306545 發表于 2018-4-12 13:20 | 顯示全部樓層 |閱讀模式
新手小白,初認51單片機,最近研究了有一段時間的單片機與8266之間的通信,至今沒搞明白單片機是要如何才能發送指令給8266,8266又是怎么接受指令然后再發送給單片機,單片機再做下一步的動作的,求高手指點,我的郵箱1913185018@qq.com

評分

參與人數 1黑幣 +3 收起 理由
a8107777 + 3

查看全部評分

回復

使用道具 舉報

ID:123289 發表于 2018-4-12 20:33 | 顯示全部樓層
讀通兩者的手冊就知道了。
回復

使用道具 舉報

ID:160834 發表于 2018-4-12 20:47 | 顯示全部樓層
串口通訊啊。單片機發送AT指令。
根據esp8266內部定義的指令。單片機發送給esp8266就可以執行相應的功能了。
例如:
1、設置wifi模式:AT+CWMODE=2
2、重啟生效:AT+RST
3、啟動多連接:AT+CIPMUX=1
4、建立server:AT+CIPSERVER=1

評分

參與人數 1黑幣 +5 收起 理由
楚園客 + 5 謝謝大神的指導

查看全部評分

回復

使用道具 舉報

ID:308141 發表于 2018-4-14 19:00 | 顯示全部樓層
跟單片機通過串口通訊,單片機有專門的針腳,51是P30和P31用來進行串口通信的
回復

使用道具 舉報

ID:263306 發表于 2018-4-14 22:45 | 顯示全部樓層
esp8266是串口WIFI模塊,就是把接收到的信號通過串口跟單片機通訊。
回復

使用道具 舉報

ID:309970 發表于 2018-6-3 22:29 | 顯示全部樓層
就是串口通訊,把要設置的AT指令發送出去
回復

使用道具 舉報

ID:227622 發表于 2018-8-17 11:52 | 顯示全部樓層
c51單片機,遠程命令詳解  ******************************************************************************/ #include <AT89X51.H> #include <stdio.h> unsigned int a; int b=1; int c =1; int d =1; int e=1; int f=0;  void main(void)   {         unsigned char ldat;          //PCON |=0X80;                //是否波特率倍增         SCON=0x50;         TMOD=0X20;                                //設置定時器1為模式2,做為波特率發生器         TL1=0xFD;                                //9600波特率的初值,板子使用11.592M晶振,初值=256-12000000/32/12/2400         TH1=0xFD;                                //         TI = 1;         TR1=1;                                        //啟動波特率發生                         //設置串口方式2                  do{ for (a=0; a<50000; a++);        //延時幾秒,讓模塊有時間啟動 printf ("AT+CIPMUX=1\n"); //發送命令AT+CIPMUX=1,讓模塊進入多連接模式         if(RI){                                //查詢是否有數據接收                         ldat=SBUF;                //數據暫存于變量中                         RI=0;                                 if (ldat=='K')//命令執行成功,就會返回OK,這里就是查詢是否有K返回,若有K返回,就說明執行成功,可以執行下一條,否則繼續循環                                 {b=0 ;                                 d=0;}                            c++;                         if (c==1000)                         {c=1;                         d=0;}}    }while (d);            }while(b) ; b=1; c =1; d =1;//b、c、d復位,便于執行下一條命令                       do{ for (a=0; a<10000; a++); printf ("AT+CIPSERVER=1,7671\n");          do{         if(RI){                                //查詢是否有數據接收                         ldat=SBUF;                //數據暫存于變量中                         RI=0;                                 if (ldat=='K')//同上                                 {b=0 ;                                 d=0;}                            c++;                         if (c==1000)                         {c=1;                         d=0;}}    }while (d);            }while(b) ;          b=1; c =1; d =1;                  do{ for (a=0; a<10000; a++); printf ("AT+CIPSTO=50\n");          do{         if(RI){                                //查詢是否有數據接收                         ldat=SBUF;                //數據暫存于變量中                         RI=0;                                 if (ldat=='K')//同上                                 {b=0 ;                                 d=0;}                            c++;                         if (c==1000)                         {c=1;                         d=0;}}    }while (d);            }while(b) ; b=1; c =1; d =1;  //執行上述命令,模塊進入服務模式,下面單片機就可以接收遠程發來的數據          while(1)         {                           if(RI){                                //查詢是否有數據接收                         ldat=SBUF;                //數據暫存于變量中                         RI=0;                        //重新清0等待接收                                                   //命令接收開始                         if (ldat=='}')                                 { char k[50] ;//設置接收數據緩沖                               do{                        if(RI){                                //查詢是否有數據接收                         ldat=SBUF;                //數據暫存于變量中                         RI=0;                        //重新清0等待接收                      k[f]=ldat;//一個個字符接收         f++        ;         if(ldat==0x0A){e=0;}        //若有新行字符,則結束接收,則說明命令接收完畢                 }            } while        (e)        ;             printf("%s\n", k);//執行遠程發來的命令          f=0;          e=1;                         for (a=0; a<50; a++){                         k[a]=0;                                                  }              } //命令結束                                           if (ldat==']') {P1_4=1;   printf ("AT+CIPSEND=0,1\n"); for (a=0; a<10000; a++); printf ("A"); }                          if (ldat=='-') {P1_4=!P1_4;  }                                  if (ldat=='[') {P1_4=0;   printf ("AT+CIPSEND=0,1\n"); for (a=0; a<10000; a++); printf ("B"); }                          if (ldat=='{') { if(P1_4==0){ printf ("AT+CIPSEND=0,1\n"); for (a=0; a<10000; a++); printf ("B"); }  else{   printf ("AT+CIPSEND=0,1\n"); for (a=0; a<10000; a++); printf ("A"); } }                           }         }           }
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩成人一区二区 | 中文在线播放 | 精品久久久久久国产 | 亚洲男人天堂av | 日本一区二区三区免费观看 | 美女毛片免费看 | 国产日韩欧美在线观看 | 成年人黄色小视频 | 日韩国产一区二区三区 | 久久免费电影 | 欧美日韩视频在线第一区 | 亚洲91精品| 日本视频在线 | 国产二区三区 | 亚洲成人福利在线观看 | 超碰97在线免费 | 国产精品久久久久久久久图文区 | 日韩视频一区在线观看 | 国产视频中文字幕 | 国产精品免费在线 | 欧洲一区视频 | 中文字幕一区二区三区四区五区 | 国产日产久久高清欧美一区 | 成人三级在线观看 | 在线欧美一区 | 亚洲第一区国产精品 | www.天天干.com | 欧美精品中文字幕久久二区 | 久久成人高清视频 | 久久久久久成人网 | 国产精品不卡视频 | 国产亚洲一区二区三区在线 | 国产在线观 | 国产在线精品一区二区 | 另类专区成人 | 欧美日韩精品一区二区三区四区 | 亚洲美女网站 | 一区二区视频在线观看 | 久久精品视频在线观看 | 欧美午夜久久 | 日本黄色影片在线观看 |