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();