MCU学习笔记
Systick定时器工作原理
1. STM32 Systick定时器基础
2. STM32 Systick定时器相关寄存器库函数
1. STM32 Systick定时器基础
- Systick定时器, 系统滴答定时器,24位的倒计数定时器,计数到0时,将从RELOAD寄存器中自动重装载定时初值。只要不在SysTick控制及状态寄存器中的使能位清零,就永不停息,及时在睡眠模式也能工作。
- Systick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。其中断优先级也可以设置。从程序的角度看,我们可以编写其中断服务函数。
- 应用:常用来做延时,或者实时系统的心跳时钟。
- 优点:可以节省MCU资源
2. STM32 Systick定时器相关寄存器库函数
-
4个Systick寄存器
-
CTRL: Systick控制和状态寄存器对于STM32,外部时钟源是HCLK(AHB总线时钟)的1/8;内核时钟是HCLK时钟.
配置函数:HAL_SYSTICK_CLKSourceConfig(); -
LOAD: Systick自动重装载除值寄存器
-
VAL: Systick当前值寄存器
-
CALIB:Systick校准值寄存器
-
-
Systick库函数
- Systick时钟源选择:HAL_SYSTICK_CLKSourceConfig();
- 初始化Systick,时钟为HCLK,并开启中断:Systick_Config(uint32_t ticks)
参考资料:正点原子视频 Thanks^^
【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~