5-1-基于Arduino的定时器库函数

定时器基本概念

定时和计数在本质上是一个概念,定时是从时间的角度出发,计数则是从数量的角度出发。定时器和计数器本质上都是计数器,定时器只是计数器的一种特例,专门用于对周期信号计数。

基于Arduino的Timer定时器概述

  • ESP32提供2个硬件定时器组,每组有2个硬件通用定时器,即ESP32芯片内置4个硬件通用定时器,分别对应序号:0、1、2、3
  • 每个定时器包含1个16位预分频器和1个64位可自动重载向上/向下计数器。
    • ESP32的计数基频为80MHz预分配系数为80可得到1MHz的计数信号,每个计数信号的周期为1us,即每个计数单位1us。
  • 定时器的初始化流程
    • 初始化一个定时器对象:timerBegin(),返回hw_timer_t类型的定时器对象。
    • 设置定时器中断:timerAttachlnterrupt()
    • 配置定时器参数:timerAlarmWrite()
    • 使能开启定时器:timerAlarmEnable()
  • 定时器中断回调函数的设计

初始化定时器对象

设置定时器中断

配置定时器参数

开启定时器

查询定时器是否已启动

posted @ 2024-09-10 22:56  ZHYWJML  阅读(144)  评论(0)    收藏  举报