SysTick_Config()函数的参数配置,SysTick时钟配置

void SysTick_Configuration(void)
{
            /* Setup SysTick Timer for 100 msec interrupts */
            if (SysTick_Config((SystemCoreClock) / 10))    //     1/10s=100ms
            {
                     /* Capture error */
                     while (1);
            }

           NVIC_SetPriority(SysTick_IRQn, 0x0);
}

SysTick_Config(SystemFrequency / 10)   函数的形参就是systick重装定时器的值。
systck计数频率为每秒72000000次,所以7200000次就是1/10秒,也就是100ms。

SysTick是1个24bit递减计数器,通过对SysTick控制与状态寄存器的设置,可选择HCLK时钟(72M)或HCLK的8分频(9M,缺省是这个)作为SysTick的时钟源。
SysTick的重装寄存器决定了定时器频率。

若SysTick的时钟源是72M,   SystemFrequency = 72000000Hz
所以 SysTick_Config(SystemFrequency / 1000); 就是1ms时基。
//     1/1000 s=1ms

你可能感兴趣的:(单片机,单片机,stm32)