一个关于stm32的systick配置出错的小问题

本文探讨了在使用STM32开发板时遇到的systick配置问题,指出新版固件库中配置systick的函数有变化,并强调了SysTick_Config()函数会重置CTRL寄存器,可能导致8分频设置失效。解决方法是注意函数调用顺序和对寄存器直接操作的时机。
摘要由CSDN通过智能技术生成

中文网络上的《STM32 固件库使用手册》都是较旧版本的,关于systick的配置有好几条函数。而开发板的固件库当然是比使用手册要新的。

现在的systick配置就两条函数:

void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource);

void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)

然而,可能是由于我买的原子哥的开发板固件库有些bug的缘故,两条函数的使用顺序要注意:

SysTick_Config(reload);//在前

SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//在后

我们看这两个函数的实现就知道为什么了:

#define SysTick_CTRL_CLKSOURCE_Msk         (1ul << SysTick_CTRL_CLKSOURCE_Pos)            /*!< SysTick CTRL: CLKSOURCE M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值