赞
踩
看了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;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。