STM32学习笔记——使用SysTick定时器做延时
1.SysTick寄存器:
寄存器 |
说明 |
地址 |
CTRL |
SysTick控制和状态寄存器 |
0xE000E010 |
LOAD |
Systick重装值寄存器 |
0xE000E014 |
VAL |
Systick当前值寄存器 |
0xE000E018 |
CALIB |
SysTick校准值寄存器 |
0xE000E01C |
l
CLKSOURCE位:CM3允许为SysTick提供两个时钟源以供选择。第一个是内核的“自由运行时钟”FCLK。“自由”表现在它不来自系统时钟HCLK,因此在系统时钟停止时FCLK也继续运行。第二个是一个外部的参考时钟。但是使用外部时钟时,因为它在内部是通过FCLK来采样的,因此其周期必须至少是FCLK的两倍(采样定理)。很多情况下芯片厂商都会忽略此外部参考时钟,因此通常不可用。
COUNTFLAG位:当SysTick定时器从1计到0时,它将把COUNTFLAG位置位;而下述方法可以清零之:
读取SysTick控制及状态寄存器(STCSR);
往SysTick当前值寄存器(STCVR)中写任何数据。
l
评论