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

相关文章

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys