SysTick_CLKSource_HCLK_Div8
时间: 2024-06-14 12:08:31 浏览: 14
SysTick_CLKSource_HCLK_Div8是STM32微控制器中的一个系统定时器(SysTick)的时钟源选项。SysTick定时器是一个24位的递减计数器,用于提供精确的时间基准和延时功能。
在STM32微控制器中,SysTick定时器的时钟源可以选择为HCLK(系统时钟)或者HCLK/8。其中,HCLK是微控制器的主时钟,它的频率由外部晶振或者内部时钟源提供。
当选择SysTick_CLKSource_HCLK_Div8作为时钟源时,SysTick定时器的时钟频率将为HCLK/8。这意味着SysTick定时器的计数速度将变慢,每个计数周期需要8个系统时钟周期。
通过选择不同的时钟源,可以根据具体需求来调整SysTick定时器的计数速度和精度。选择HCLK/8作为时钟源可以降低SysTick定时器的计数速度,适用于一些低功耗应用场景或者需要较长延时的情况。
相关问题
systick 为什么选择SysTick_CLKSource_HCLK和SysTick_CLKSource_HCLK_Div8, 延时都是1秒
SysTick是STM32的一个定时器模块,可以用于延时。在STM32中,SysTick使用的时钟源可以是HCLK或HCLK/8。选择不同的时钟源,会影响SysTick的计数速度和延时时间。
当选择SysTick的时钟源为HCLK时,SysTick计数器的时钟频率等于HCLK的频率,即SysTick计数器每秒钟递增的次数等于HCLK的频率。因此,如果要延时1秒,就需要将SysTick的计数值设置为HCLK的频率减1。
当选择SysTick的时钟源为HCLK/8时,SysTick计数器的时钟频率等于HCLK/8的频率,即SysTick计数器每秒钟递增的次数等于HCLK/8的频率。因此,如果要延时1秒,就需要将SysTick的计数值设置为HCLK/8的频率减1。
从上面可以看出,选择不同的时钟源,需要设置不同的计数值才能延时相同的时间。如果选择HCLK/8作为时钟源,可以把SysTick计数器的计数范围缩小8倍,从而减少了计数器的位数,这样可以减少对内存的占用,因此在一些情况下选择HCLK/8作为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。
该函数可能是嵌入式系统中的一部分,用于实现精确的延时控制。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)