定时器控制LED灯闪烁,按钮改变闪烁频率
文章目录
- 定时器控制LED灯闪烁,按钮改变闪烁频率
-
- 一. 实验目的
- 二. ESP32 GPIO介绍
-
-
- 1.GPIO的简介
- 2. GPIO的主要特性
-
- 三. ESP32定时器的介绍
-
-
- 1. 定时器的介绍
- 2. 定时器特性
-
- 四. 实验原理及程序结构
-
-
- 1. GPIO
-
- 1.1. LED灯和按钮的初始化:
- 1. 2 LED控制
- 2. 软件定时器
-
- 2.1 使用最简单的软件定时器
- 2.2 按钮控制定时器
-
- 五. 源码
- 六. 总结
-
-
- 1 实验需求:
- 2. 实践操作
-
- 2.1 定时器控制LED
- 2.2 按钮控制LED
-
一. 实验目的
- 为了更好的了解嵌入式中的功能,以较简单的方式提升自己对嵌入式的爱好,所以在这里开展了定时器控制LED灯的实验,本章可以基本了解ESP32的GPIO和软件定时器
- 硬件说明:本例程会用到一个软件定时器、一个按钮和一个LED灯
二. ESP32 GPIO介绍
1.GPIO的简介
2. GPIO的主要特性
- 输出状态可选推挽、上拉和下拉。
- 输入状态可选择悬空、上拉或下拉、模拟。
- 可设置中断条件,可以选择上升沿触发、下降沿触发、高电平触发、低电平触发.
三. ESP32定时器的介绍
1. 定时器的介绍
ESP32 内置 4 个 64-bit 通用定时器。每个定时器包含一个 16-bit 预分频器和一个 64-bit 可自动重新加载向上/向下计数器。
ESP32 的定时器分为 2 组,每组 2 个。TIMGn_Tx 的 n 代表组别,x 代表定时器编 。具有16-bit预分频、64-bit时基计数、警 产生、MWDT(主系统看门狗)、中断等多种功能
2. 定时器特性
- 可配置向上/向下时基计数器
- 暂停和恢复时基计数器
- 电平触发中断和边沿触发中断
- 软件控制的即时重新加载
四. 实验原理及程序结构
1. GPIO
基本原理就是利用ESP32的软件定时器特性,在周期性回调函数中控制LED灯的状态不断翻转,达到闪烁的效果。我们先来看GPIO的初始化
1.1. LED灯和按钮的初始化:
LED灯和按钮的初始化比较简单,选择好引脚,将LED灯设为输出模式,按钮设为输入模式即可。
1. 2 LED控制
每次调用定时器中的一次回调函数,LED灯的状态翻转一次,只要设置好定时器中的时间就可以改变LED灯的闪烁频率
2. 软件定时器
2.1 使用最简单的软件定时器
这里设置的定时器为两秒,每调用一次,LED灯的状态就翻转一次,实现闪烁到这里,定时器控制LED灯已经完成了,但按钮控制还没有完成。
2.2 按钮控制定时器
在这里只要控制了定时器的时间就改变了LED灯的闪烁频率,接下来就看按钮如何控制定时器的:
在这里调用了定时器中的句柄,重新设置了定时器的时间,并在按钮程序中让定时器的时间逐渐减少,进而达到LED灯闪烁越来越快的效果,实现按钮控制LED灯的闪烁频率。
五. 源码
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!