有时您需要按时发生某事,这就是计时器和计时器中断发挥作用的地方。计时器是一种中断。它就像一个简单的时钟,用于测量和控制时间事件,提供精确的时间延迟。大多数微控制器都有内置定时器,这些定时器不仅用于产生时间延迟,还用作计数器。定时器的这一特性用于许多应用。微控制器中的定时器由分配给定时器操作的特殊功能寄存器控制。
ESP32 芯片包含两个硬件定时器组。每个组都有两个通用硬件计时器。它们都是基于 64 位预分频器和 16 位上/下计数器的 64 位通用定时器,能够自动重新加载。
定时器中断
定时器中断是确保定时事件发生在毫秒内的有效方法,允许微调时钟或 PWM 操作,或者只是向 LED 提供可靠的脉冲。定时器中断是定时器生成的软件中断。计时器中断允许您以非常特定的时间间隔执行任务,而不管代码中发生了什么。它们类似于外部中断,但它们不是由外部事件触发,而是由计时器触发。一旦触发,它们将在当前指令完成后中断执行线程,调用 ISR,并在完成后从中断的位置返回到下一条指令,就像硬件或外部中断一样。这是演示 Timer 概念的图像。