定时器控制LED灯

定时器控制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

一. 实验目的

  1. 为了更好的了解嵌入式中的功能,以较简单的方式提升自己对嵌入式的爱好,所以在这里开展了定时器控制LED灯的实验,本章可以基本了解ESP32的GPIO和软件定时器
  2. 硬件说明:本例程会用到一个软件定时器、一个按钮和一个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进行处理,非常感谢!

上一篇 2022年7月16日
下一篇 2022年7月16日

相关推荐