在设定1ms延时中,HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq))这个函数里uwTickFreq代表含义是什么,1000/uwTickFreq又是什么意思? 在stm32f1xx_hal.h中的定义如下: typedef enum { HAL_TICK_FREQ_10HZ = 100U, HAL_TICK_FREQ_100HZ = 10U, HAL_TICK_FREQ_1KHZ = 1U, HAL_TICK_FREQ_DEFAULT = HAL_TICK_FREQ_1KHZ } HAL_TickFreqTypeDef; 但不明白这个频率指的是什么? 还请大神帮忙。 |
就是字面意思,滴答定时器的频率
这些是用来配置SYSTICK定时器的溢出频率的. uwTickFreq 就是你现在给出来枚举变量的取值之一,它跟1000结合成1000/uwTickFreq 表示对SystemCoreclock的分频系数。 平常HAL库里那个uwTickFreq 使用默认值HAL_TICK_FREQ_1KHZ,SYSTICK配置成1ms中断一次。 这些东西你自己稍微捣鼓下就大致清楚了,即使不能立即很清晰,放放无妨。毕竟是别人的代码和思路, 等自己实践多了体会更深、更清晰。