一、定時器分類
1、系統定時器 (CORET)
24位遞減計數器
遞減到0可以產生中斷
遞減到0需軟件重新置位
16位遞增計數器
16位預分頻器
PWM輸出
支持ETCB
四類中斷
a) PEND事件:計數器周期結束時發生。
b) CMP事件:計數器計數值等于CMP寄存器設置時發生。
c) OVF事件:計數器計數溢出(0xFFFF)時發生。
d) TRGEV事件:同步觸發輸出事件有輸出是發生。
3、計數器A (CNTA)
16位遞減計數器
用來產生載波頻率
可產生中斷
4、增強型通用定時器 (GPTA)
16/24 位可復位計數器(GPT0 為 24bit; GPT1 為 16bit)
可編程計數器計數方式
a) 遞增計數(Up-counting)
b) 遞減計數(Down-counting)
c) 遞增遞減計數(Up-down-counting)
支持事件計數器,可通過配置事件計數器(最大 15)觸發相應中斷
5、增強型通用定時器B (GPTB)
16 位可復位計數器
可編程計數器計數方式
a) 遞增計數(Up-counting)
b) 遞減計數(Down-counting)
c) 遞增遞減計數(Up-down-counting)
兩路波形產生控制單元,支持雙路獨立輸出:
a) 兩路獨立的 PWM 輸出,單邊沿工作
b) 兩路獨立的 PWM 輸出,雙邊沿對稱工作
c) 1 組獨立的 PWM 互補輸出 + 1 路獨立的 PWM 輸出
異常事件發生時,自動觸發預設波形輸出
觸發源包括 GPIO 輸入,其他外設觸發,軟件設置和事件觸發
支持單次觸發和連續觸發模式
支持單脈沖輸出模式
支持事件計數器,可通過配置事件計數器(最大 15)觸發相應中斷
6、增強型通用定時器 (EPT)
16 位計數器
支持 PWM 對更高載波頻率進行斬波輸出
支持捕獲模式,最多支持 4 個捕獲值存儲
7、實時時鐘計數器(RTC)
所有低功耗模式下均可獨立運行
支持系統喚醒
BCD 編碼
提供實時的日歷和時間信息
產生周期性的中斷事件
一旦初始化成功并開始工作,任何復位信號均不能影響其工作,除非重新上電
8、低功耗定時器 (LPT)
16 位遞增計數器
4 Bit 預分頻控制,支持(1,2,4,8,16,32,64,128,256,512,1024,2048,4096 分頻)
支持多種計數時鐘:
a) 內部時鐘:ISCLK, IMCLK, EMCLK,ESCLK 或 PCLK
b) 外部時鐘:LPT_IN(當沒有內部時鐘時,可以作為脈沖計數)
c) 一路獨立的 PWM 輸出
一個比較值寄存器
支持連續或單次計數模式
支持通過 ETCB 觸發
支持脈沖和 PWM 輸出模式
9、窗口型看門狗 (WWDT)
8 位可編程遞減計數器
預設計數器時鐘分頻器:Div (1/2/4/8 x 4096)
a) 計數器時鐘基于 PCLK 工作
b) 分頻器的基礎分頻為 PCLK/4096
c) 可選擇基于 4096 分頻后的二次分頻:DIV1、DIV2、DIV4 和 DIV8
產生復位的條件:
a) 遞減計數器計數器值小于 0x80
b) 軟件刷新計數器發生在預設窗口外
c) 軟件寫入的刷新計數器的數值小于 0x80
報警中斷:當計數器值等于 0x80 時,可產生中斷
10、獨立看門狗 (IWDT)
中斷可作為處理器在 DEEP-SLEEP 模式下定時喚醒的中斷源
12 位的 Free Running遞減計數器
一旦使能則必須在計數器溢出前進行清除,否則會產生系統復位
二、逐個分析
1、基本計數器 (Basic Timer)
定時中斷
中斷函數中操作板載LED閃爍,同時串口每隔3秒輸出一次“進入BT中斷”。
PWM
主循環調節占空比實現呼吸燈效果
2、計數器A (CNTA)
定時中斷
中斷函數中每隔3秒串口輸出“進入CNTA中斷”
PWM
程序設計頻率38KHz,占空比33%,實測頻率為38.168KHz,占空比為38.168/116.279=32.82%,符合預期。
3、實時時鐘計數器(RTC)
萬年歷
4、鬧鐘
5、窗口型看門狗 (WWDT)
6、獨立看門狗 (IWDT)
三、測評總結
本期為定時器集合,學習了所有定時器外設并挑選其中的部分外設作簡要調試測試。
根據實測效果來看,APT32F1104芯片定時器精度符合預期,代碼封裝較完善,實際只需小幅修改即可看到現象。
-
開發板
+關注
關注
25文章
5068瀏覽量
97623 -
愛普特微電子
+關注
關注
0文章
52瀏覽量
4839
發布評論請先 登錄
相關推薦
評論