学习笔记第二节-TIM定时器及中断的使用学习(参考自官方文档)
【资料图】
ESP32有两组定时器,每组有两个通用硬件定时器。所有通用定时器均基于 16 位预分频器和 64 位可自动重新加载向上/向下计数器。
定时器默认使用APB时钟,默认80MHZ。
初始化定时器分成以下几步:
初始化结构体,使能计数满(ALARM)值,使能向上计数,自动重装载,中断等。
计算频率,默认APB时钟80MHZ,计数频率=80MHZ/timer_Structure.divider(结构体里面设置的那个)。ALARM出发的频率(进入中断的频率)=计数频率/ALARM_Value值。
编写中断服务函数。如果不需要了就使用关闭中断函数。
下面是主要部分:
定时器初始化代码:
中断服务函数:(测试,让LED 2S闪一次):
main函数部分: