SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK );
时间: 2023-08-14 13:02:29 浏览: 111
`SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK)`是一个函数调用,用于配置SysTick定时器的时钟源为HCLK(即系统时钟)。
在Cortex-M系列微控制器中,SysTick定时器是一个系统级定时器,用于提供基本的延时功能。它可以通过设置不同的时钟源来满足不同的需求。
函数`SysTick_CLKSourceConfig`用于配置SysTick定时器的时钟源。参数`SysTick_CLKSource_HCLK`表示将时钟源设置为HCLK,即使用系统时钟作为定时器的时钟源。
通过将定时器的时钟源设置为HCLK,可以确保定时器的计数频率与系统时钟频率相同,从而实现准确的延时功能。
需要注意的是,该函数调用前需要先使能SysTick定时器,并根据实际需求进行相应的配置。
相关问题
SysTick_CLKSourceConfig作用
SysTick_CLKSourceConfig() 函数是用来配置 SysTick 计时器时钟源的函数。在 ARM Cortex-M 系列处理器中,SysTick 计时器是一个内置的计时器,可以用来实现延时、定时等功能。
该函数的作用是选择 SysTick 计时器的时钟源,可以选择系统时钟(HCLK)或者 HCLK/8 作为计时器时钟源。具体来说,当把 SysTick 计时器的时钟源配置为系统时钟时,SysTick_Handler() 中断处理函数每隔一个 SysTick 时钟周期就会被调用一次;当把时钟源配置为 HCLK/8 时,SysTick_Handler() 中断处理函数每隔 8 个 SysTick 时钟周期才会被调用一次。
函数原型为:
```c
void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource);
```
其中,`SysTick_CLKSource` 参数可以取以下值:
- `SysTick_CLKSource_HCLK_Div8`: SysTick 计时器的时钟源为 HCLK/8。
- `SysTick_CLKSource_HCLK`: SysTick 计时器的时钟源为 HCLK。
使用该函数应当在 SysTick 开启之前调用。
void SysTick_Init(u8 SYSCLK) { SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); fac_us=SYSCLK/8; fac_ms=(u16)fac_us*1000; }
这是一段使用 SysTick 定时器初始化的代码,用于生成微秒和毫秒级的延时。其中,SYSCLK 是系统时钟频率,fac_us 和 fac_ms 是用于计算微秒和毫秒延时的系数。
在函数中,首先使用 SysTick_CLKSourceConfig 函数设置 SysTick 定时器的时钟源为 HCLK/8,即系统时钟的 1/8。然后,根据系统时钟频率计算出微秒和毫秒延时的系数 fac_us 和 fac_ms。
该函数可能是嵌入式系统中的一部分,用于实现精确的延时控制。