STM32 时钟配置分析

配置前首先要选择是否是外部输入时钟,在CubeMX中可以先在RCC中选择,包括选择是否输出时钟。

该图为CubeMX的时钟配置界面,SYSCLK即为系统时钟,HSI和HSE分别表示内部高速时钟和外部高速时钟,LSI和LSE表示低速内部时钟和低速外部时钟,图中标记可以看出:

  • SYSCLK可以选择HSI,HSE,PLLCLK三者,经过分频后给其他外设使用
  • PLLCLK来自于HSI或HSE,经过倍频和分频后可以产生PLLCLK

配置后如果选择输出时钟,可以在PA8和PC9输出时钟,配置输出的代码如下:

    RCC_APB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
    GPIO_InitTypeDef SCK_InitStructure;
    SCK_InitStructure.GPIO_Pin = GPIO_Pin_8;
    SCK_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
    SCK_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    SCK_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_Init(GPIOA, &SCK_InitStructure);
    //RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);
    RCC_MCO1Config(RCC_MCO1Source_HSI,RCC_MCO1Div_1);//16M rc
    //RCC_MCO1Config(RCC_MCO1Source_PLLCLK,RCC_MCO1Div_4);

猜你喜欢

转载自www.cnblogs.com/RegressionWorldLine/p/11695892.html