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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

c51單片機執行ESP8266遠程命令詳解

[復制鏈接]
跳轉到指定樓層
樓主
ID:150754 發表于 2016-11-28 15:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/***************************************************************************
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");
}
}

       
                }
        }

       
}

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:222772 發表于 2017-8-14 15:19 | 只看該作者
記下來,當資料查看
回復

使用道具 舉報

板凳
ID:90140 發表于 2017-8-22 08:51 | 只看該作者
感謝樓主分享!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区在线电影 | 99久久精品国产一区二区三区 | 免费的av网站 | 国产精品久久精品 | 日韩视频在线一区 | 日韩在线中文字幕 | 超碰av在线 | 亚洲天堂中文字幕 | 精品一区av | 欧美三级免费观看 | 波波电影院一区二区三区 | av手机在线播放 | 亚洲三区在线 | 成人午夜影院 | 日本精品一区二区 | 伊人久久精品 | 国内精品久久影院 | 91免费看片 | 亚洲精品一区二区另类图片 | 久久性色 | 成人免费视屏 | 美女一级黄 | 欧美日韩黄色一级片 | 日韩羞羞 | 人人干视频在线 | 中文视频在线 | 91视频观看 | 成人av免费在线观看 | 视频三区 | 免费一级大片 | 色站综合 | 九九导航 | 欧美视频在线看 | 国产精品日产欧美久久久久 | 成人精品视频在线观看 | 精品在线播放 | 亚洲精品无 | 欧美日韩久久 | 欧美亚洲国产精品 | 91精品国产91久久久久久丝袜 | 天天夜碰日日摸日日澡 |