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。

 

相關文章
相關標籤/搜索