網(wǎng)站 建設(shè)需求上海aso蘋果關(guān)鍵詞優(yōu)化
定時器與定時器中斷
文章目錄
- 定時器與定時器中斷
- 1、ESP32定時器介紹
- 2、定時器相關(guān)API介紹
- 3、軟件準(zhǔn)備
- 4、硬件準(zhǔn)備
- 3、代碼實現(xiàn)
有時需要按時發(fā)生某些事情,這就是計時器和計時器中斷發(fā)揮作用的地方。 定時器是一種中斷。 它就像一個簡單的時鐘,用于測量和控制時間事件,提供精確的時間延遲。 大多數(shù)微控制器都有內(nèi)置定時器,它們不僅用于產(chǎn)生時間延遲,還用作計數(shù)器。 定時器的這一特性被用于許多應(yīng)用。 微控制器中的定時器由分配給定時器操作的特殊功能寄存器控制。
本文將詳細(xì)介紹如何在Arduino IDE中使用定時器及其中斷。
1、ESP32定時器介紹
ESP32 芯片包含兩個硬件定時器組。 每組有兩個通用硬件定時器。 它們都是基于 16 位預(yù)分頻器和 64 位可自動重載的遞增/遞減計數(shù)器的 64 位通用定時器。
注意:ESP32-C3包含兩個定時器
每個 ESP32 定時器都使用 APB 時鐘(APB_CLK,頻率通常為 80 MHz)作為基本時鐘。 這個時鐘然后按比例縮小通過一個 16 位預(yù)分頻器生成時基節(jié)拍時間。 因此,我們將更改預(yù)分頻器的值以控制定時器滴答時間。
16 位預(yù)分頻器可以將 APB_CLK 除以 2 到 65536 之間的一個因子。當(dāng)您將預(yù)分頻器值設(shè)置為