![]()
首先我们从这个HAL库自带的函数走进了解

以上是HAL_Delay实现延迟的一个过程,值得一提的是我们在配置的时候可以选择时钟,有系统滴答时钟和硬件定时器所带的时钟,系统滴答时钟采用向上计数的方法,而定时器时钟全靠自己配置
系统时钟:
他的每个滴答周期是 1 毫秒,系统时钟计数单位也是微秒,也就是我们系统时钟每记一次数就会触发一次系统滴答定时器(SysTick)来实现我们需要的任务比如每个滴答周期完成时,系统的 时间基准 更新。通常,STM32 会有一个全局的变量,如 uwTick 或 tick,它表示自系统启动以来经过的时间(通常是以毫秒为单位)。每次 SysTick 中断触发时,这个变量会递增,表示经过的时间。
超时和计时器溢出归0: 当滴答计数器累计到最大值(例如 32 位计数器的最大值为 0xFFFFFFFF)时,系统可能会发生溢出,计数器会从 0 重新开始。系统应该能够正确处理这种溢出情况,通常会通过额外的代码来进行溢出处理,以确保计时不受影响。

这是配置我们整个STM32时钟的地方,整个

最低0.47元/天 解锁文章
2255

被折叠的 条评论
为什么被折叠?



