STM32使用MCO引脚输出系统时钟

/*
 * 初始化MCO引脚PA8
 * 在F1系列中MCO引脚只有一个,即PA8,在F4系列中,MCO引脚会有两个
 */
void MCO_GPIO_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    // 开启GPIOA的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    
    // 选择GPIO8引脚
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
    
    //设置为复用功能推挽输出
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    
    //设置IO的翻转速率为50M
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    
    // 初始化GPIOA8
  GPIO_Init(GPIOA, &GPIO_InitStructure);
}  

下面直接在主函数调用就好了!

    MCO 引脚初始化
    MCO_GPIO_Config();
    //设置MCO引脚输出时钟,用示波器即可在PA8测量到输出的时钟信号,
    // 我们可以把PLLCLK/2作为MCO引脚的时钟来检测系统时钟是否配置准确
    // MCO引脚输出可以是HSE,HSI,PLLCLK/2,SYSCLK    
    RCC_MCOConfig(RCC_MCO_HSE);                             
    RCC_MCOConfig(RCC_MCO_HSI);                       
    RCC_MCOConfig(RCC_MCO_PLLCLK_Div2);        
    RCC_MCOConfig(RCC_MCO_SYSCLK);

你可能感兴趣的:(stm32)