找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2601|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ESP8266與51單片機(jī)通信源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:345035 發(fā)表于 2018-6-4 22:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>

void UartConfiguration();
void Uart();
void change_name();
void ESP8266_init();
void DelayUs2x(unsigned char t);
void DelayMs(unsigned char t);


void DelayUs2x(unsigned char t)
{   
while(--t);
}

void DelayMs(unsigned char t)
{

while(t--)
{
     DelayUs2x(245);
         DelayUs2x(245);
}
}
void send()
{

   char *a="AT+CIPSEND=0,5\r\n";
   char *b="12346\r\n";
   while(*a!='\0')
        {
                SBUF=*a;
                while(!TI);    //等待發(fā)送完成
                TI=0;
                a++;
        }
        DelayMs(100);
        while(*b!='\0')
        {
                SBUF=*b;
                while(!TI);    //等待發(fā)送完成
                TI=0;
                b++;
        }
}

void connect_init()
{
        char *a="AT+CIPMUX=1\r\n";
        char *b="AT+CIPSERVER=1,8080\r\n";
        while(*a!='\0')
        {
                SBUF=*a;
                while(!TI);    //等待發(fā)送完成
                TI=0;
                a++;
        }       
        DelayMs(5);
        while(*b!='\0')
        {
                SBUF=*b;
                while(!TI);    //等待發(fā)送完成
                TI=0;
                b++;
        }               
}


void UartConfiguration()
{
          TMOD=0x20;      //設(shè)置計(jì)數(shù)器1的工作方式2
        TH1=0xfd;                        //設(shè)置計(jì)數(shù)器1的初值,決定波特率
        TL1=0xfd;                        //設(shè)置計(jì)數(shù)器1的初值,決定波特率
        PCON=0x00;      // 波特率倍增0x00不加倍         0x80加倍
        SCON=0x50;                //設(shè)置工作方式1 開啟接受允許
        EA=1;                    //開啟總中斷
        ES=1;                        //開啟串口接受中斷
        TR1=1;                        //計(jì)數(shù)器1開始運(yùn)行
}
void ESP8266_init()
{
        UartConfiguration();
        TI=0;             //清除發(fā)送完成標(biāo)記
        connect_init();
}

void Uart() interrupt 4
{

}

/*
        uchar date;

        date=SBUF;        //取出接受到的數(shù)據(jù)
        RI=0;                          //清除接受中斷標(biāo)志位
        SBUF=date;                  //接收到的數(shù)據(jù)放入發(fā)送緩存器發(fā)送
        while(!TI);        //等待發(fā)送數(shù)據(jù)完成
        TI=0;                                //清除發(fā)送完成標(biāo)志位
  */





void main()
{
        DelayMs(3000);
        ESP8266_init();
        while(1)
        {
           send();
        }
       
       
       
}

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表