系统时钟
systick是在内核上的外设,向下递减的计数器,可以存储2^24这么多数来计数(16777216),很明显没有达到72M这么大。计数器的周期就是时钟周期,有两个挡位,先用72MHz来说明,每计数一次则花费:1S/(72*10^6),这么长的时间,所以按照72MHz来说就要计数72M才能说明时间过了1S,但是存放不了这么大的数,所以要缩短时间。
因为1S = 1000ms
那么计数72000就表示为1ms.
Systick一般用于操作系统中
系统时钟寄存器的介绍
-
STK_CTRL
-
COUNTFLAG
计数到0时候硬件会将其置1
-
CLKSOURCE
选择时钟:0:AHB/8 1:AHB
-
TICKINT
中断使能,1使能 0失能
-
ENABLE
开始计数:1 开始 0 停止
-
-
STK_LOAD
- 将被重装载的值
-
STK_VAL
- 当前计数的值,如果在它地址写值则会将它清零并且清除STK_CTRL.COUNTFLAG标志位