esp32 Timer实现

本文介绍了ESP32的Timer功能实现,包括创建、中断设置、时间设定和使能四个关键步骤。通过示例展示了如何使用这些方法实现周期性打印1-5数字的效果。
摘要由CSDN通过智能技术生成

Timer功能实现

Timer主要有四个方法
timerBegin:创建
timerAttachInterrupt:中断设置
timerAlarmWrite:时间设置
timerAlarmEnable:使能

#include <Arduino.h>

int interruptCounter = 0;
hw_timer_t *timer = NULL;

//  为使编译器将代码分配到IRAM内,中断处理程序应该具有 IRAM_ATTR 属性
void IRAM_ATTR TimerEvent()
{
    Serial.println(interruptCounter++);
    if (interruptCounter > 5)
    {
        interruptCounter = 1;
    }
}

void setup() {
  Serial.begin(9600);
  //	函数名称:timerBegin()
  //	函数功能:Timer初始化,分别有三个参数
  //	函数输入:
  //          1. 定时器编号(0到3,对应全部4个硬件定时器)
  //          2. 预分频器数值(ESP32计数器基频为80M,80分频单位是微秒)
  //          3. 计数器向上(true)或向下(false)计数的标志
  //	函数返回:一个指向 hw_timer_t 结构类型的指针
  timer = timerBegin(0, 80, true);

  //	函数名称:timerAttachInterrupt()
  //	函数功能:绑定定时器的中断处理函数,分别有三个参
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值