STM32之系统时钟基定时器

STM32F10x内核中都具有一个系统时钟基定时器,是一个24位的递减计数器。在其设置处置并使能后,每经过一个系统时钟周期,计数值减1.档计数值减到0时系统时基定时器又会自动重载初值。

系统时基定时器每10ms就会产生一次中断。

接下来主要介绍库函数。

1.SysTick_CLKSourceConfig函数的功能是设置SysClock的时钟源。其中输入参数为SysTick_CLKSource:SysTick时钟源

参数可取的值为:SysTick_CLKSource_HCLK_Div8;SysTick_CLKSource_HCLK.表示SysTick时钟源为AHB时钟除以8和AHB时钟源。

例:设置系统定时器时钟为AHB时钟。

SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);

2.Sys_SetReload函数的功能是设置SysTick重装载值。其输入参数是32位1和0x00FFFFF之间的值。(u32 Reload)

例:设定系统定时器的重载值为90000 。

SysTick_SetReload(900000);

3.SysTick_CounterCmd函数的功能是使能或者失能SysTick计数器。其输入参数是SysTick_Counter:SysTick计数器新状态

参数可取的值为SysTick_Counter_Disable/Enable/Clear.表示失能、使能、清楚计数器值为0.

例:使能系统定时器。

SysTick_CounterCmd(SysTick_Counter_Enable);

4.SysTick_ITconfig函数的功能是使能或者失能SysTick中断

5.SysTick_GetCounter函数的功能是获取SysTick计数器的值。

例:获取系统定时器的计数值。是一个32位的值

u32 SysTickCurrentCounterValue;

SysTickCurrentCounterValue = SysTick_GetCounter();


你可能感兴趣的:(STM32之系统时钟基定时器)