STM32之Systick(系統時鍾&滴答定時器)


Systick(系統)定時器

Systick定時器是一個簡單定時器,就是系統滴答定時器,可以用來做延時或者系統的心跳時鍾

Systick有兩個可選的時鍾源,一個是外部時鍾STCLK,等於HCLK/8,一個是內部時鍾HCLK

//使用外部時鍾
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//使用外部時鍾,時鍾源為HCLK的8分頻
//例如外部晶振為8MHz,倍頻到72MHz,那么HCLK為72MHz,Systick時鍾為9MHz
//也就是說,Systick的計數器VAL每減1,時間就過了1/9us

假若選擇HCLK,且HCLK頻率為72MHz的話,系統時鍾周期為1/(72M);systick有一個24位的遞減計數器

每個系統時鍾周期計數器值減一,那么當計數器減到零時,時間經過了:系統時鍾周期*計數器初值

當你將計數器初值設為72000時(有些例程里面設為71999,其實沒什么影響,誤差極小),當計數器值減到0時經過了1/(72M)*72000=0.001s,即1ms


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM