STM32的时钟系统相当的复杂,包含了5个时钟源,分别是HSI HSE LSI LSE PLL,HSI是高速内部时钟、RC振荡器,频率为8MHz,HSE是高速外部时钟,即晶振,晶振频率为8MHz。LSI为低速内部时钟、RC振荡器,频率40kHz,LSE为低速外部时钟,接32.768kHz晶振,作为RTC时钟源。PLL为锁相环倍频输出,最大不超过72M。
在STM32Cube中结构如下:
有关时钟部分的代码:
1.配置TIM时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
2.定时器基本配置
void TIM3_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
// TIM_OCInitTypeDef TIM_OCInitStructure ;
TIM_DeInit(TIM2); //复位TIM2定时器
TIM_TimeBaseStructure.TIM_Period = 5; // 2.5ms
TIM_TimeBaseStructure.TIM_Prescaler = 36000; // 分频36000
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DI