前面說過TC1使用的是外部32K的時鐘源,因為這個晶振沒有焊接,無法測試,所以我們這里選擇的測試時鐘為TC2。
本MCU一共有9個定時器,TC1-TC9,都是16位的。先來看看時鐘內部框圖,TC外設使用的是PBCLK3,頻率是100MHZ
打開MHC,選擇Harmony Framework Configuration》Drivers》Timer進行設置,下面大體介紹下每個設置的含義
1,Driver Implementation:這個有動態和靜態的可以,我們這里選擇動態的,具體的區別在下一篇中介紹
2,中斷模式選擇使能,這里打鉤,表示使能中斷。
3,Timer Module ID:選擇ID2,就是使用的TC2,這里可以選擇1-9,但1的時鐘源沒有,所以只能選擇2-9,我們選擇2來測試
4,Interrupt Priority和Interrupt Sub-priority這兩項是選擇中斷優先級。每個向量有7個用戶可選的優先級,每個優先級內有4個用戶可選的次優先級。
5,Clock Source:選擇時鐘源。外部的為TxCK引腳的外部時鐘,內部的為外設時鐘PBCLK3
6,Prescale:分頻選擇,可以選擇1-256。我們選擇256,就是PBCLK3的100M進行256分頻,得到390625HZ。若是要求較短間隔(us),最好使用32位模式,因為分頻后的頻率數值若是超過計數器長度,則無法正常使用,并且沒有提示,你會看到定時器沒有起作用。
7,Operation Mode:模式選擇,可以選16位或32位模式。Timer2與Timer3組合、Timer4與Timer5組合、Timer6與Timer7組合以及Timer8與Timer9組合可提供4個32位同步定時器。當工作在32位模式下時,該位對奇編號定時器(Timer1、Timer3、Timer5、Timer7和Timer9)沒有影響。所有定時器功能通過偶編號定時器設置。
8,Power State:用來選擇TC可以運行在哪些節能模式下,這里選擇FULL表示所有模式下都可以運行。
MHC中,選擇Harmony FrameworkConfiguration》System Services》Timer進行設置,這里配置中斷的頻率也就是中斷的時間等設置,這里的頻率1000就表示1S產生1000次中斷,也就是說定時時間為1MS
為了方面參數的定義等,把中斷函數直接移到APP.C下面,這樣編寫寫程序比較方便,個人習慣這樣
在APP.H中定義計數器的幾個變量,方便以后使用
在中斷函數里增加程序,因為是1ms定時的,累加1000次正好是1S,1S刷新下顯示數據
顯示效果
-
mcu
+關注
關注
146文章
17978瀏覽量
366663 -
定時器
+關注
關注
23文章
3298瀏覽量
118876
發布評論請先 登錄
MCU定時器/計數器
Microchip PIC32A系列MCU 集成高性能模擬外設的32位MCU


詳解CKS32F107xx系列的定時器同步功能

門頭燈定時器怎么調開關時間
定時器自動控制開關怎么設置
面向車載設備,帶看門狗定時器、輸出電壓升降監控復位功能的 LDO穩壓器“NP4271”系列產品上市

評論