美文网首页
89C52单片机ESP8266 与 TCP Server 建立通

89C52单片机ESP8266 与 TCP Server 建立通

作者: 我的梨花糕 | 来源:发表于2020-02-19 08:55 被阅读0次

89C52单片机ESP8266 与 TCP Server 建立通信

一、物理配置

ESP8266-01S 3.3v电源:给Esp8266提供3.3v电源 单片机的Rx/Tx引脚分别为P3.0,P3.1

二、通信之前,双方的比特率必须保持一致。

1.ESP8266使用AT指令调整波特率到9600

AT+UART=9600,8,1,0,0
AT+UART_CUR=9600,8,1,0,0
AT+UART_EDF=9600,8,1,0,0

AT指令集详解:


1.PNG 2.PNG 3.PNG

2.单片机89c52单片机采用串行口方式1编程实现

(1)串口方式1


4.PNG

(2)单片机串口初始化


5.PNG 6.PNG

(3)代码实现

  • 初始化特殊寄存器
void uart_init()//初始化波特率为9600
{
    TMOD = 0X20;
    TH1 = 0xfd;
    TL1 = 0xfd;
    TR1 = 1;
    REN = 1;
    SM0 = 0;
    SM1 = 1;
    EA = 1;
    ES = 1;
}
  • (进阶)初始化特殊寄存器
void uart_init_X(int baudrate)//设置单片机串口波特率
{
    TMOD = 0X20;
    if(baudrate == 4800){
        TH1 = 0xfa;
        TL1 = 0xfa;
    }
    if(baudrate == 9600){
        TH1 = 0xfd;
        TL1 = 0xfd;
    }
    if(baudrate == 2400){
        TH1 = 0xf4;
        TL1 = 0xf4;
    }
    if(baudrate == 1200){
        TH1 = 0xe8;
        TL1 = 0xe8;
    }
    TR1 = 1;
    REN = 1;
    SM0 = 0;
    SM1 = 1;
    EA = 1;
    ES = 1;
}
  • 串口中断函数,中断号4
void ser() interrupt 4
{
    RI = 0;
    rec = SBUF;
    uart_flag = 1;
}

二、单片机发送给ESP的AT指令

所用到的AT指令

  1. 查询本地IP地址


    CIFSR.png
  1. 设置多连接


    CIPMUX.png
  2. 设置传输模式


    CIPMODE.png

4.保存透传到flash

SAVETRANSLINK.png
void initESP()
{   
   Delay500ms();
   send_str("AT\r\n");
   Delay500ms();
   send_str("AT\r\n");
   Delay500ms();
   send_str("AT+CWMODE=3\r\n");
   delay();
   send_str("AT+CWSAP_CUR=\"ESP\",\"88888888\",4,4\r\n");//  回车加换行
   delay();
   
   send_str("AT+CIPSTART=\"TCP\",\"192.168.4.2\",1111\r\n");
   delay();
   send_str("AT+CIPMUX=0\r\n");//设置连接模式,0代表单一连接,1代表多连接
   delay();
   send_str("AT+CIPMODE=1\r\n");////设置为透传模式
   delay();
   send_str("AT+CIPSEND\r\n");
   delay();
   
   send_str("OK\r\n");
   Delay500ms();
   send_str("OK\r\n");
   Delay500ms();
   send_str("OK\r\n");
   Delay500ms();
   send_str("OK\r\n");
}

相关文章

网友评论

      本文标题:89C52单片机ESP8266 与 TCP Server 建立通

      本文链接:https://www.haomeiwen.com/subject/kndofhtx.html