STM32 MCO時鍾輸出配置實驗


 STM32PA.8引腳具有復用功能——時鍾輸出(MCO), 該功能能將STM32內部的時鍾通過PA.8輸出.

 

操作流程:

1)、設置PA.8為復用AF模式。

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

GPIO_Init(GPIOA, &GPIO_InitStructure);

 

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。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM