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