第一课之2-STM32-RCC

来源:互联网 发布:淘宝上的日系店铺 编辑:程序博客网 时间:2024/06/11 01:40


void  SYSTICK_Init(void)
{
  /* SysTick end of count event each 1ms with input clock equal to 4.5MHz (HCLK/8, default 

  SysTick_SetReload(4500);
  /* Enable SysTick interrupt 

  SysTick_ITConfig(ENABLE);
  /* Enable the SysTick Counter  

  SysTick_CounterCmd(SysTick_Counter_Enable);

系统时钟定时器的周期与驱动的时钟频率和Reload值相关。

RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。

 

驱动系统时钟定时器的时钟源有两个:HCLK或(HCLK/8默认),通过调用SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK)或SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8)选择。

Reload值表示对时钟源脉冲计数多少次为一个系统时钟周期,如当选择时钟源为(HCLK/8)时,如果HCLK=72MHz,则Reload值为9000时系统时钟周期为1ms。通过调用SysTick_SetReload()设置Reload值。

再举个例子:选择时钟源为(HCLK/8),如果HCLK=36MHz,Reload值为9000时系统时钟周期为2ms,Reload值为4500时系统时钟周期为1ms,Reload值为90000时系统时钟周期为20ms。

 

0 0
原创粉丝点击