新闻中心

EEPW首页>嵌入式系统>设计应用> STM32学习笔记——使用SysTick定时器做延时

STM32学习笔记——使用SysTick定时器做延时

作者: 时间:2016-11-28 来源:网络 收藏

lSystick当前值寄存器(SysTick_VAL)

lSysTick校准值寄存器(SysTick_CALIB)

各寄存器示意图:

2.SysTick函数

3.0版以后的STM32固件库在标准外设库中移除了SysTick的驱动,因此用户必须调用CMSIS定义的函数。

CMSIS只提供了一个SysTick设置的函数,替代了STM32原有SysTick驱动的全部函数。

[cpp]view plaincopy
  1. SysTick_Config(uint32_tticks);

该函数设置了自动重载入计数器(LOAD)的值,SysTick IRQ的优先级,复位了计数器(VAL)的值,开始计数并打开SysTick IRQ中断。SysTick时钟默认使用系统时钟。

此外,还可以使用SysTick_CLKSourceConfig函数来改变时钟源,使用NVIC_SetPriority设置中断优先级(往后再深入)。

SysTick_CLKSourceConfig函数

函数名

SysTick_CLKSourceConfig

函数原型

SysTick_CLKSourceConfig(u32 SysTick_CLKSource)

行为描述

配置SysTick的时钟源

输入参数

SysTick_CLKSource:SysTick的时钟源

输出参数

返回值

前提条件

调用函数

SysTick_CLKSource允许值

SysTick_CLKSource

描述

SysTick_CLKSource_HCLK_Div8

SysTick时钟源为AHB时钟的1/8

SysTick_CLKSource_HCLK

SysTick时钟源为AHB时钟



关键词:STM32SysTick定时

评论


技术专区

关闭