注:本文主要是学习普中STM32F103的一些笔记步骤,内容多数摘自普中开发攻略,方便复习回看!
1、SysTick 定时器简介
SysTick 定时器也叫 SysTick 滴答定时器,它是 Cortex-M3 内核的一个外设, 被嵌入在 NVIC 中。它是一个 24 位向下递减的定时器,每计数一次所需时间为 1/SYSTICK,SYSTICK 是系统定时器时钟,它可以直接取自系统时钟,还可以通 过系统时钟 8 分频后获取。采用后者时,每计数一次所需时间为 1/(72/8)us,即在 1us 的时间内会计数 9 次。当定时器计数到 0 时,将自动重装定时器初值,重新向下递减计数,如此循环往复。如果 开启 SysTick 中断的话,当定时器计数到 0,将产生一个中断信号。因此只要知 道计数的次数就可以准确得到它的延时时间。 SysTick 定时器通常应用在操作系统中,为其提供时钟周期。 优点:嵌入在CPU内核的外设,因此不占用CPU时间,并且非常精准
2、SysTick 定时器寄存器
(1)CTRL 寄存器 CTRL 是 SysTick 定时器的控制及状态寄存器。其相应位功能如下: (2)LOAD 寄存器 LOAD 是 SysTick 定时器的重装载数值寄存器。其相应位功能如下:
(3)VAL 寄存器 VAL 是 SysTick 定时器的当前数值寄存器。其相应位功能如下: (4)CALIB 寄存器 CALIB 是 SysTick 定时器的校准数值寄存器。其相应位功能如下:
2、SysTick 定时器操作步骤
SysTick 定时器的操作可以分为 4 步: (1)设置 SysTick 定时器的时钟源。 (2)设置 SysTick 定时器的重装初始值(如果要使用中断的话,需将中断使能打开)。 (3)清零 SysTick 定时器当前计数器的值。 (4)打开 SysTick 定时器。
1、设置 SysTick 定时器的时钟源。
库函数misc.c 中 函数名: void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource) 功能:设置 SysTick 时钟源 输入参数取值有两个: SysTick_CLKSource_HCLK_Div8 SysTick 时钟源为 AHB 时钟除以 8 SysTick_CLKSource_HCLK SysTick 时钟源为 AHB 时钟
2、设置 SysTick 定时器的重装初始值
未完待续
|