K_A23_001 基于STM32等单片机AT指令驱动ESP-01/ESP-01S实现手机遥控点灯

2024-03-14 20:40

本文主要是介绍K_A23_001 基于STM32等单片机AT指令驱动ESP-01/ESP-01S实现手机遥控点灯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

K_A23_001 基于STM32等单片机AT指令驱动ESP-01/ESP-01S实现手机遥控点灯

  • 所有资源导航
  • 一、资源说明
  • 二、基本参数
    • 引脚说明
  • 三、驱动说明
    • 对应程序:
  • 四、部分代码说明
    • 1、接线引脚定义
      • 1.1、STC89C52RC+ESP-01/ESP-01S模块
      • 1.2、STM32F103C8T6+ESP-01/ESP-01S模块
  • 五、基础知识学习与相关资料下载
  • 六、视频效果展示与程序资料获取
  • 七、注意事项
  • 八、接线说明
    • STC89C52RC
    • STM32F103C8T6

请添加图片描述

所有资源导航

其他资料目录 直戳跳转

一、资源说明

单片机型号测试条件模块名称代码功能
STC89C52RC晶振11.0592MESP-01/ESP-01S模块STC89C52RC驱动ESP-01/ESP-01S模块 实现手机遥控点灯
STM32F103C8T6(标准库)晶振8M/系统时钟72MESP-01/ESP-01S模块STM32F103C8T6驱动ESP-01/ESP-01S模块 实现手机遥控点灯

二、基本参数

引脚说明

ESP-01/ESP-01S模块引脚说明
VCC电源+ 3.3V
GNDGND 电源负极
IO2GPIO2/UART1_TXD
IO0GPIO0;下载模式:外部拉低;运行模式:悬空或者外部拉高
RXDUART0_RXD/GPIO3
TXDUART0_TXD/GPIO1
EN芯片使能端,高电平有效(ESP-01需要手动拉高)
RST复位

三、驱动说明

对应程序:

此处串口通信对应程序:
以51为例

#include "Uart.h"
#include "ESP-01S.h"
void UartInit(void)
{TMOD = 0x20;   //定时器工作在定时器1的方式2PCON = 0x00;   //不倍频SCON = 0x50;	//串口工作在方式1,并且启动串行接收	TH1 = 0xFD;    //设置波特率 9600TL1 = 0xFD;//ET1 = 0;TR1 = 1;		//启动定时器1ES = 1;		//开串口中断EA = 1;		//开总中断	
}void UartSend(uint8_t dat)
{
//    while (busy);
//    busy = 1;SBUF = dat;while(TI==0);	TI=0;
}/*****************发送设置**********************************/
void ESP8266_Set(unsigned char *puf)
{unsigned char k=0;while(*(puf+k)!='\0'){UartSend(*(puf+k));k++;}
}
/*************接收数据***************************************/
void UARTInterrupt(void)interrupt 4
{if(RI){RI=0;Usart_Receive[Usart_Cnt]=SBUF;Usart_Cnt++;if(!Usart_Connect_Buf_Flag){if(Usart_Receive[Usart_Cnt-2]=='\r'&&Usart_Receive[Usart_Cnt-1]=='\n'&&(strstr(Usart_Receive, "OK"))){Usart_Cnt=49;Usart_AT_flage=1;//ESP8266_Set(Usart_Receive);}else if(Usart_Cnt>=49){Usart_Cnt=49;}}else{if(Usart_Cnt>=49){Usart_Cnt=0;}}}if(TI){//TI=0;}
}

四、部分代码说明

1、接线引脚定义

需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

1.1、STC89C52RC+ESP-01/ESP-01S模块

//ESP-01/ESP-01S模块引脚定义UART:
(TX) ---------------P3.0
(RX)----------------P3.1//LED引脚定义
sbit LED=P1^0;

1.2、STM32F103C8T6+ESP-01/ESP-01S模块

//ESP-01/ESP-01S模块引脚定义
UART:
#define  DEBUG_USART2_TX_GPIO_PORT       GPIOA   
#define  DEBUG_USART2_TX_GPIO_PIN        GPIO_Pin_2
#define  DEBUG_USART2_RX_GPIO_PORT       GPIOA
#define  DEBUG_USART2_RX_GPIO_PIN        GPIO_Pin_3//LED引脚定义					
#define LED1_GPIO_PORT    	GPIOB			              /* GPIO端口 */
#define LED1_GPIO_CLK 	    RCC_APB2Periph_GPIOB		/* GPIO端口时钟 */
#define LED1_GPIO_PIN				GPIO_Pin_5			        /* 连接到SCL时钟线的GPIO */

五、基础知识学习与相关资料下载

1、STC89C52RC程序下载 直戳跳转

2、STM32F103C8T6程序下载
(1)串口下载 直戳跳转
(2)ST-LINK下载 直戳跳转
(3)J-LINK下载 直戳跳转
(4)DAP-LINK下载 直戳跳转

3、OLED0.96程序说明 直戳跳转

4、串口助手下载与使用
(1)安信可调试助手使用 直戳跳转
(2) sscom33串口调试助手使用 直戳跳转
(3)STC-ISP串口调试助手使用 直戳跳转

六、视频效果展示与程序资料获取

视频连接 直戳跳转
  资料获取            ( 滑到最后添加群号看公告免费获取)

七、注意事项

1、VCC GND请勿接反,接反易烧
2、OLED显示异常时,排除接线接触不良

八、接线说明

STC89C52RC

/************************************************************************************//  功能描述   : ESP-01S测试程序
//  测试条件   : STC89C52RC   晶振11.0592
接线  LED看情况串联电阻 
LED-----------------------------------------------STC89C52RC
LED(+)--------------------------------------------3.3V
GND(-)--------------------------------------------P1.0ESP-01S------------------------------------------STC89C52RC
VCC-----------------------------------------------3.3V
GND-----------------------------------------------GND
RX------------------------------------------------P3.1
TX------------------------------------------------P3.0*************************************************************************************/

STM32F103C8T6

/************************************************************************************//  功能描述   : ESP-01S测试程序
//  测试条件   : STM32F103C8T6   晶振8M  系统时钟 72M
接线
ESP-01S-------------------------------STM32F103C8T6
VCC-----------------------------------3.3V
GND-----------------------------------GND
RX------------------------------------PA2
TX------------------------------------PA3LED-----------------------------------STM32F103C8T6
LED(+)--------------------------------PB5
GND(-)--------------------------------GND
*****************************************************************************************/

这篇关于K_A23_001 基于STM32等单片机AT指令驱动ESP-01/ESP-01S实现手机遥控点灯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/809669

相关文章

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达