STM32 内部时钟输出PA.8(MCO)

 

 

STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出. 
操作流程: 
   1)、设置PA.8为复用Push-Pull模式。 
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 
    GPIO_Init(GPIOA, &GPIO_InitStructure); 
   2)、选择输出时钟源。 
    时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制。 
    RCC_MCOConfig(RCC_MCO); 
    参数RCC_MCO为要输出的内部时钟: 
      RCC_MCO_NoClock --- 无时钟输出 
      RCC_MCO_SYSCLK --- 输出系统时钟(SysCLK) 
      RCC_MCO_HSI --- 输出内部高速8MHz的RC振荡器的时钟(HSI) 
      RCC_MCO_HSE --- 输出高速外部时钟信号(HSE) 
      RCC_MCO_PLLCLK_Div2 --- 输出PLL倍频后的二分频时钟(PLLCLK/2) 
注:由于STM32 GPIO输出管脚的最大响应频率为50MHz,如果输出频率超过50MHz,则输出的波形会失真。

STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出. 
操作流程: 
   1)、设置PA.8为复用Push-Pull模式。 
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 
    GPIO_Init(GPIOA, &GPIO_InitStructure); 
   2)、选择输出时钟源。 
    时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制。 
    RCC_MCOConfig(RCC_MCO); 
    参数RCC_MCO为要输出的内部时钟: 
      RCC_MCO_NoClock --- 无时钟输出 
      RCC_MCO_SYSCLK --- 输出系统时钟(SysCLK) 
      RCC_MCO_HSI --- 输出内部高速8MHz的RC振荡器的时钟(HSI) 
      RCC_MCO_HSE --- 输出高速外部时钟信号(HSE) 
      RCC_MCO_PLLCLK_Div2 --- 输出PLL倍频后的二分频时钟(PLLCLK/2) 
注:由于STM32 GPIO输出管脚的最大响应频率为50MHz,如果输出频率超过50MHz,则输出的波形会失真。

猜你喜欢

转载自www.cnblogs.com/Ranger001/p/10073762.html