STM32 MCO时钟输出配置实验

 STM32PA.8引脚具备复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟经过PA.8输出.blog

 

操做流程:ip

1)、设置PA.8为复用AF模式。get

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);it

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;配置

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;im

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;d3

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;img

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;co

GPIO_Init(GPIOA, &GPIO_InitStructure);d3

 

2)、选择输出时钟源。

时钟的选择由时钟配置寄存器(RCC_CFGR)。

GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_MCO);

RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);

 

参数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,则输出的波形会失真。

 

例1:外部振荡器25Mhz。

RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);

输出时钟25Mhz。

 

例2:外部振荡器25Mhz。

RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_5);

输出时钟5Mhz。

 

 

例3:内部PLL时钟168Mhz。

RCC_MCO1Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_5);

输出时钟33.57Mhz。

 

 

例3:内部PLL时钟168Mhz。

RCC_MCO1Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_3);

输出时钟55.75Mhz。

 

相关文章
相关标签/搜索