疑问:Systick 时钟源设置为 8 分频后不能工作?!
其实,这个问题我觉得是一个挺尴尬的事情。貌似官方也没有给出来具体的原因,这里版主就全当是硬件设计的bug吧!
但官方给出来了workaround的办法——不使用8分频即可!
呵呵~~
其官方的库函数也做了一定的“处理”:将8分频的参数给注释掉了。
所以,版主在这里提醒大家,不要配置systick的8分频时钟。因为使用库函数不会配置,还会导致你的程序systick的时基不对,又要花掉时间去调试!
唉!有点无语~~
/**
* @brief Configures the SysTick clock source.
* @param SysTick_CLKSource specifies the SysTick clock source.
* This parameter can be one of the following values:
* @arg SysTick_CLKSource_HCLK AHB clock selected as SysTick clock source.
*/
void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)
{
/* Check the parameters */
assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource));
if (SysTick_CLKSource == SysTick_CLKSource_HCLK)
{
SysTick->CTRL |= SysTick_CLKSource_HCLK;
}
// else
// {
// SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8;
// }
}
我要赚赏金
