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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8302|回復(fù): 3
收起左側(cè)

單片機(jī)與ESP8266通過手機(jī)APP通信

[復(fù)制鏈接]
ID:332483 發(fā)表于 2018-5-17 21:31 | 顯示全部樓層 |閱讀模式
課題是輸入時(shí)間發(fā)送給單片機(jī),單片機(jī)控制南北方向,東西方向路口綠燈時(shí)間為輸入時(shí)間。此為C語言單片機(jī)端源碼,供需要的人參考

與單片機(jī)的接線,其中VCC我用的是5V轉(zhuǎn)3.3V模塊供電

與單片機(jī)的接線,其中VCC我用的是5V轉(zhuǎn)3.3V模塊供電

初始化ESP8266:
初始化之前用串口助手將ESP設(shè)置好運(yùn)行模式AP和Station共存,設(shè)置好密碼(這些助手都能夠直接一鍵設(shè)置),設(shè)置好波特率9600指令AT+CIOBAUD=9600
首先初始化定時(shí)器,因?yàn)槲业恼n題要求
void time0_init()         
{
        EA  = 1;                   //開總中斷
        SCON=0x50;
        TMOD = 0X21;          //定時(shí)器0、定時(shí)器1工作方式1
        ET0 = 1;                  //開定時(shí)器0中斷
        TR0 = 1;                  //允許定時(shí)器0定時(shí)
        ET1 = 0;                  //開定時(shí)器1中斷         
        TH1=0xfd;//賦初值
         TL1=0xfd;//同上,此為波特率9600的初值
         TR1=1;
         REN=1;//允許串口接收
        
         
}//(此為串口通行的基礎(chǔ))

接下來發(fā)送命令到ESP8266

void connect_init()
{        
        char *a="AT+CIPMUX=1\r\n";
        char *b="AT+CIPSERVER=1,5000\r\n";

        while(*a!='\0')
        {
                SBUF=*a;      //寫入要發(fā)送的字符
                while(!TI);    //等待發(fā)送完成
                TI=0;          //發(fā)送
                a++;
        }        
        delay_1ms(100);//這里添加延時(shí)函數(shù),延時(shí)5ms左右,給ESP8266反應(yīng)時(shí)間
        while(*b!='\0')
        {
     SBUF=*b;  

                while(!TI);    //等待發(fā)送完成
                TI=0;
                b++;
        }        
RI=0;
ES=1;
//初始化完成,串行口中斷打開        
}

然后
void main()
{
               
        time0_init();
connect_init();               
//此處添加其他要實(shí)現(xiàn)的代碼
} //每次單片機(jī)開機(jī)都會向ESP發(fā)送命令將其初始化。

然后是發(fā)送完成以及接收完成時(shí)所產(chǎn)生的中斷處理
void serial com()interrupt 4
{

        
          if(RI==1)//接收的中斷
        {
            RI=0;//取消本次接收中斷申請,方便進(jìn)入下次中斷
            temp=SBUF;//SBUF寫在后是把接受寄存器的值賦給P1
                if(temp==':'||j>0)//由于ESP發(fā)送的字符有+IPD,0,1:等字符,故此為截取:及其以后的字符然后根據(jù)自己的目的進(jìn)行判斷
                {
                        receive[j]=temp; //截取的字符保存在數(shù)組中
                        j++;
                        if(temp=='J')//判斷字符自設(shè),不發(fā)生沖突即可
                        {
//添加要實(shí)現(xiàn)的功能
                        j=0;
                        }
                        if(temp=='G'){
                                j=0;
                                dai=dai+1;
memset(receive,0,3);
                                switch(dai){
case 1:dx_time=15,nb_time=35;
case 2:dx_time=35,nb_time=15,dai=0;                //添加要實(shí)現(xiàn)的功能代碼        
                                                        }
}
                if(temp=='N'||o>0){
                                                receive[o]=temp;
                                                o++;        
                                                if(temp=='S')
                                                {
                                                 m= receive[1]*10+receive[2]-16;//此處截取的內(nèi)容和我要實(shí)現(xiàn)的相差16,不知道為何,有知道的還望告知。
                                                nb_time=m;
                                                temp=0;
                                                memset(receive,0,sizeof(receive));
                                                o=0;j=0;
                                                }
                                                }
        
                if(temp=='D'||l>0){
                receive1[l]=temp;
                l++;
                if(temp=='S'){
                dx_time=receive1[1]*10+receive1[2]-16;
                temp=0;
                memset(receive1,0,sizeof(receive1));//調(diào)用該函數(shù)需要頭文件 string.h 不要忘了添加
                l=0; j=0;   }
                                   }

                }                                
                RI=0;
}

if(TI==1){
                        TI=0;
                        }//發(fā)送中斷在發(fā)送完成時(shí)產(chǎn)生的中斷
RI=0;
}

好了,大概需要做的就這些,記得聲明數(shù)組char receive[];
需要安卓客戶端的再聯(lián)系吧

USB轉(zhuǎn)ESP8266資料.zip

1.58 MB, 下載次數(shù): 59, 下載積分: 黑幣 -5

串口助手供大家下載

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:571712 發(fā)表于 2019-6-25 14:26 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:570965 發(fā)表于 2019-6-24 16:38 | 顯示全部樓層
波特率9600 改成其他的好用不
回復(fù)

使用道具 舉報(bào)

ID:325485 發(fā)表于 2019-6-24 14:38 | 顯示全部樓層
需要客戶端啊?還可以發(fā)出來嗎?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久成人免费视频 | 成人国产精品久久久 | 日韩一区在线播放 | 亚洲国产成人精品久久久国产成人一区 | 91精品国模一区二区三区 | 精品91久久 | 亚洲一区二区三区四区视频 | 亚洲国产精品久久久久秋霞不卡 | 91视频.com | 久久精品亚洲欧美日韩久久 | 欧美激情在线一区二区三区 | 午夜在线免费观看 | 男女羞羞视频在线观看 | xxx.在线观看 | 九九热这里只有精品在线观看 | 99久久免费精品 | 欧美精品久久久久久久久久 | 黑人巨大精品欧美一区二区免费 | 亚洲+变态+欧美+另类+精品 | 免费一区二区三区 | 亚洲国产成人av好男人在线观看 | 欧美一区二区三区在线观看视频 | 亚洲国产精品久久 | 成人免费精品视频 | 成人av一区二区亚洲精 | 二区av| 国产成人jvid在线播放 | 日韩精品一区在线观看 | 日韩一区二区三区在线看 | 精品真实国产乱文在线 | 色av一区二区 | 欧美精品在线一区二区三区 | 免费在线一区二区三区 | 一区二区免费在线视频 | 欧美激情视频一区二区三区在线播放 | 久久精品日 | 国产精品2| 天天干干| 懂色av色香蕉一区二区蜜桃 | 久久久久久黄 | 久久久av|