關於STM32F407時鐘MCO1的使用

2022-08-31 00:51:12 字數 878 閱讀 3302

我們在使用stm32f407時,有時需要對外部器件提供mhz級的時鐘訊號,這使得我們非常頭疼,如果使用定時器來實現的話,那麼mcu就不用幹別的了,怎麼辦呢?我們可以使用stm32f407的時鐘訊號輸出。

其中stm32f407的時鐘系統,不再介紹,請參考stm32f407使用手冊;

下面就以mco1為例,來輸出8mhz頻率的方波,mco1與pa.8共用乙個引腳;

晶振採用8mhz,這樣系統時鐘經過倍頻後為168mhz,其中hsi經過分頻後可得到16mhz的頻率,我們採用此訊號,經過2分頻後輸出8mhz的時鐘訊號,當然,我們也可以採用其他訊號來產生其他的頻率。

**如下:

void mco1_8mhz_init(void)

{gpio_inittypedef  gpio_initstructure;

rcc_ahb1periphclockcmd(rcc_ahb1periph_gpioa, enable);//使能pa

gpio_initstructure.gpio_pin = gpio_pin_8;//pa8

gpio_initstructure.gpio_mode = gpio_mode_af;//復用功能開啟

gpio_initstructure.gpio_otype = gpio_otype_pp;//推挽輸出

gpio_initstructure.gpio_speed = gpio_speed_50mhz;//50mhz

gpio_init(gpioa, &gpio_initstructure);  、

rcc_mco1config(rcc_mco1source_hsi,rcc_mco1div_2);   //配置時鐘為hsi,16m  2分頻

配置好後,只需完成初始化即可,使用示波器觀察pa8腳,即可觀察到波形。

STM32F407時鐘樹結構

stm32f407基於cortex m4核心架構,具備完善的時鐘樹結構。了解時鐘樹的結構有助於程式的編寫和優化。下列配置圖來自軟體stm32cubemx,從配置圖可以看出stm32f407所有時鐘源,包括外部輸入hse和lse,以及內部rc時鐘hsi和lsi。對於高速時鐘,採用外部8mhz晶振作為時...

STM32F407 時鐘頻率不匹配導致系統癱瘓

問題描述 因專案需求使用stm32f407系類,之前只使用過stm32f103系列,純屬小白乙隻。使用的是原子哥的例程,板子是某寶淘的,實在便宜才下手的。前期準備工作全部到位,使用j link燒寫程式,程式一燒寫進去,j link就消失了,本來led燈還在閃爍燒寫進去後就不閃了,越想越奇怪。一開始懷...

STM32F407使用硬體SPI驅動MCP3008

前段時間校企合作專案裡一塊板子上用了mcp3008,一開始老是得到值,後來終於得到了,以此來寫一下部落格分享給大家,讓大家少走彎路。言歸正傳,我們開始 mcp3008是乙個逐漸接近的10位模擬數字轉化器,板載取樣和保持電路.它可程式設計,提供四個偽差分輸入對或八個單端輸入.微分非線性 dnl 積分非...