SysTick_CLKSourceConfig 这个函数还有用吗?

看了stm32的时钟那里,Cortex System timer的时钟源是有AHB直接除以8得到的。AHB和Cortex System timer之间也没有一个选择器出现,固件库怎么会有这个

void SysTick_CLKSourceConfig(u32 SysTick_CLKSource)函数呢?

我个人的理解是不用设置了的,这个函数根本就没用!

答:时钟树那里没有显示这个时钟设置,所以很容易导致看错。

systick的寄存器说明是在《Cortex M3权威指南》里说明了!

其实是有选择的,只是默认是AHB/8。通过设置systick的CTRL寄存器的bit2来设置时钟,设置如下:

bit2 =   0:使用内核时钟:使用HCLK/8 作为Systick时钟;AHB/8

            1:使用HCLK作为Systick时钟;AHB

文档说的不清不楚的,真费事!

设systick的时钟是f

好了,systick定时时间:time  =  ( (Value(load) - 0 )  + 1 ) / f

这里的f = AHB或AHB/8;

猜你喜欢

转载自blog.csdn.net/duobaohongtu3/article/details/52803638
今日推荐