STM32之RCC庫函式介紹2

2021-07-23 15:09:28 字數 1580 閱讀 7483

1.rcc_pllcmd函式的功能是使能或者失能pll。引數可以輸入的是enable 和 disenable。先決條件是如果pll被用於系統時鐘,那麼就不能失能。

2.rcc_sysclkconfig函式的功能是設定系統時鐘,輸入的引數是32位的rcc_sysclksource用作系統時鐘的時鐘源。

該函式可取的值是rcc_sysclksource_hsi/hse/pllclk.

3.rcc_pclk2config函式的功能是設定高速ahb時鐘。其輸入引數是32位的rcc_pclk2.

該函式可取的值是rcc_hclk_div1/2/4/8/16.分別表示分頻情況。

4.pcc_usbclkconfig函式的功能是設定usb時鐘。基本的使用方式和rcc_pclk2config函式的使用一樣。

該函式可取的值是rcc_usbclksource_pllclk_1div5/1.分別是pll時鐘除以1.5和pll時鐘。

5.rcc_adcclkconfig函式的功能是設定adc時鐘。其輸入引數可取pcc_pclk2_div2/4/6/8.

6.rcc_lseconfig函式的功能是設定外部低速晶振(lse)。可取的引數是rcc_lse_off/on/bypass。

7.rcc_rtcclkconfig函式的功能是設定rtc時鐘。其可輸入的引數是32位的rcc_rtcclksource_lse/lsi/hse_div128.最後引數是指選擇hse時鐘頻率除以128作為rtc時鐘。

8.rcc_rtcclkcmd函式的功能是使能或者失能rtc時鐘。也就是輸入enable/disenable即可。

9.rcc_ahbperiphclockcmd函式的功能是使能或者失能ahb外設時鐘。其輸入引數是rcc_ahbperiph門控的ahb外設時鐘。

可以取值rcc_ahbperiph_dma/sram/flitf.分別是三種不同的時鐘。其中注意sram和flitf只時鐘只能在睡眠嗎模式下被失能。

10.rcc_apb1periphclockcmd函式的功能是使能或者失能apb1外設時鐘。其輸入引數rcc_apb1periph是門控apb1外設時鐘。可取的值很多,具體使用的時候可以參照相應表。通過例子說明其使用方法。

例:使能bkp和pwr時鐘。

rcc_apb1periphclockcmd(rcc_apb1periph_bkp|rcc_apb1periph_pwr.enable);

11.rcc_apb2periphclockcmd函式的功能是門控apb2外設時鐘。同樣可以取很多值。通過例子說明其使用方法。

例:使能gpioa,gpiob,spi1時鐘。

rcc_apb2periphclockcmd(rcc_apb2periph_gpioa|rcc_apb2periph_gpiob|rcc_apb2periph_spi1,enable);

12.rcc_getflagstatus函式的功能是檢查指定的rcc標誌位設定與否。其中rcc_flag可取的值可以查詢相關的**。

例:檢查pll時鐘是否準備就緒。

flagstatus status;

status = rcc_fetflagstatus(rcc_flag_pllrdy);

if(status == resert)

else

STM32之RCC庫函式介紹以及應用

3.rcc waitforhsestartup函式的功能是等待hse起振,該函式將等待,知道hse就緒或在超時的情況下退出。下面利用 講述該函式在系統時鐘配置中的作用。errorstatus hsestartupstatus 使能hse rcc hseconfig rcc hse on 等待知道hs...

STM32之BKP後備域庫函式介紹

1.bkp deinit函式的功能是將外設bkp的全部暫存器重設為預設值。2.bkp tamperpinlevelconfig函式的功能是設定侵入檢測引腳的有效電平。bkp tamperpinlevel可取的值有.bkp tamperpinlevel high low.分別是檢測高低電平。3.bkp...

STM32鍵盤 庫函式

昨天晚上老大回來看我頻繁使用暫存器寫程式給出指點,告訴我盡量使用庫函式,少使用暫存器,畢竟暫存器在後面使用的時候還要乙個乙個查詢手冊可能太麻煩了,nice!這次使用庫函式操作鍵盤,很基礎的實驗,其中摻雜了之前的蜂鳴器和led內容。感覺基礎鍵盤實驗比較有價值的還是那個鍵盤操作函式,以下給出標準模板,m...