找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2775|回复: 4
打印 上一主题 下一主题
收起左侧

ESP8266与STM32单片机的通信程序

[复制链接]
跳转到指定楼层
楼主
ID:284051 发表于 2019-2-10 23:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ESP8266与32单片机的通信

单片机源程序如下:
  1. #include "reg52.h"

  2. typedef unsigned char u8;
  3. typedef unsigned int u16;

  4. sbit LED1 = P0^0;
  5. sbit LED2 = P0^1;
  6. sbit LED3 = P0^2;
  7. sbit LED4 = P0^3;

  8. u8 dat;

  9. void ConfigUART()
  10. {
  11.     TMOD = 0x20;
  12.     SCON = 0x50;
  13.     TH1 = 0xFD;
  14.     TL1 = TH1;
  15.     PCON = 0x00;
  16.     TR1 = 1;
  17. //      RCAP2H=0x0B;//自动重载高8位,
  18. //      RCAP2L=0xDC;//低8位;
  19. //          
  20. //      ET2=1;
  21. //      EA=1;                                       
  22. //      TR2=1;   
  23. }

  24. void Delay_Us(u8 us)
  25. {
  26.     while(us--);
  27. }

  28. void Delay_ms(u16 n)
  29. {
  30.         unsigned int  i,j;
  31.         for(i=0;i<n;i++)
  32.                 for(j=0;j<123;j++);
  33. }

  34. void Send_Uart(u8 value)
  35. {               
  36.         SBUF=value;
  37.         while(!TI);
  38.         TI=0;                                         
  39. }

  40. void ESP8266_Set(u8 *puf)            
  41. {       
  42.         while(*puf!='\0')   
  43.         {
  44.                 Send_Uart(*puf);
  45.                 Delay_Us(5);
  46.                 puf++;               
  47.         }
  48.         Delay_Us(5);
  49.         Send_Uart('\r');
  50.         Delay_Us(5);
  51.         Send_Uart('\n');
  52.         Delay_ms(200);
  53. }

  54. void ESP8266_Init()
  55. {
  56.         ESP8266_Set("AT+CWMODE=2");
  57.         Delay_ms(1000);
  58.         Delay_ms(1000);
  59.         ESP8266_Set("AT+RST");
  60.         Delay_ms(1000);
  61.         Delay_ms(1000);
  62.         ESP8266_Set("AT+CWSAP=\"kaiwen\",\"chenkaiwen\",11,3");
  63.         Delay_ms(1000);
  64.         Delay_ms(1000);
  65.     ESP8266_Set("AT+CIPMUX=1");
  66.         Delay_ms(1000);
  67.         Delay_ms(1000);
  68.     ESP8266_Set("AT+CIPSERVER=1,5000");
  69. }

  70. void ESP8266_SEND()
  71. {
  72.     if(RI)
  73.     {
  74.         RI = 0;
  75.         dat = SBUF;
  76.            switch(dat)
  77.           {
  78.             case 'a':LED1=1;LED3=1;LED2=1;LED4=1;ESP8266_Set("AT+CIPSEND=0,12");ESP8266_Set(">");ESP8266_Set("LEDOFF");ESP8266_Set("+++");break;
  79.             case 'b':LED1=1;LED3=1;LED2=0;LED4=0;ESP8266_Set("AT+CIPSEND=0,20");ESP8266_Set(">");ESP8266_Set("LEDON 2and4");ESP8266_Set("+++");break;
  80.             case 'c':LED1=0;LED3=0;LED2=1;LED4=1;ESP8266_Set("AT+CIPSEND=0,20");ESP8266_Set(">");ESP8266_Set("LEDON 1and3");ESP8266_Set("+++");break;
  81.                 case 'd':LED1=1;LED3=0;LED2=1;LED4=0;ESP8266_Set("AT+CIPSEND=0,20");ESP8266_Set(">");ESP8266_Set("LEDON 3and4");ESP8266_Set("+++");break;
  82.                 case 'e':LED1=0;LED3=1;LED2=0;LED4=1;ESP8266_Set("AT+CIPSEND=0,20");ESP8266_Set(">");ESP8266_Set("LEDON 1and2");ESP8266_Set("+++");break;
  83.           }                       
  84.     }
  85.     if (TI)
  86.    {
  87.     SBUF=dat;
  88.     TI = 0;
  89.    }
  90. }

  91. void main()
  92. {
  93.    LED1=1;
  94.    LED2=1;
  95.    LED3=1;
  96.    LED4=1;
  97.    ConfigUART();
  98.    ESP8266_Init();
  99.    while(1)
  100.    {
  101.             ESP8266_SEND();
  102.    }
  103. }
复制代码

所有资料51hei提供下载:
ESP8266松.rar (28.04 KB, 下载次数: 19)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:58333 发表于 2019-2-11 09:23 | 只看该作者
过来支持一下,膜拜
回复

使用道具 举报

板凳
ID:473968 发表于 2019-2-11 13:58 | 只看该作者
请问你这个实现什么功能,怎么接线
回复

使用道具 举报

地板
ID:501126 发表于 2019-3-31 13:28 | 只看该作者
你这是51的代码吧
回复

使用道具 举报

5#
ID:419070 发表于 2019-4-27 23:44 | 只看该作者
很明显是51的程序,,,,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表