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使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

SpringBoot使用ffmpeg实现视频压缩

《SpringBoot使用ffmpeg实现视频压缩》FFmpeg是一个开源的跨平台多媒体处理工具集,用于录制,转换,编辑和流式传输音频和视频,本文将使用ffmpeg实现视频压缩功能,有需要的可以参考... 目录核心功能1.格式转换2.编解码3.音视频处理4.流媒体支持5.滤镜(Filter)安装配置linu

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析