2 STM32 HAL庫初始化函式功能

2021-10-22 07:35:13 字數 2385 閱讀 8651

int main

(void

)}

這個是主函式中首要處理的函式:主要用來初始化hal庫,即用來初始化所有的外圍裝置,flash介面和系統定時器,系統中斷組,初始化低級別硬體。return hal_ok向函式返回乙個值,代表函式編譯成功。

hal_statustypedef hal_init

(void)

*/hal_mspinit()

;return

hal_ok

;}

void

systemclock_config

(void

)//選中pll作為系統時鐘源並且配置hclk,pclk1和pclk2

rcc_clkinitstruct.clocktype =

rcc_clocktype_hclk

|rcc_clocktype_sysclk

|rcc_clocktype_pclk1

|rcc_clocktype_pclk2

;//設定系統時鐘時鐘源為pll

rcc_clkinitstruct.sysclksource =

rcc_sysclksource_pllclk

;//ahb分頻係數為1

rcc_clkinitstruct.ahbclkdivider =

rcc_sysclk_div1

;//apb1分頻係數為4

rcc_clkinitstruct.apb1clkdivider =

rcc_hclk_div4

;//apb2分頻係數為2

rcc_clkinitstruct.apb2clkdivider =

rcc_hclk_div2

;//同時設定flash延時週期為5ws,也就是6個cpu週期。if(

hal_rcc_clockconfig

(&rcc_clkinitstruct,

flash_latency_5)!=

hal_ok

)/*則當hse時鐘啟用失敗時,系統會自動切換到hsi作為時鐘源,並產生乙個nmi不可遮蔽中斷。

*/hal_rcc_enablecss()

;}

void

mx_gpio_init

(void);

//定義結構體變數gpio_initstruct

/* gpio埠時鐘開啟 */

__hal_rcc_gpioe_clk_enable()

;__hal_rcc_gpioh_clk_enable()

;__hal_rcc_gpioa_clk_enable()

;/*配置gpio初始輸出電平 */

hal_gpio_writepin

(gpioe

,gpio_pin_5

|gpio_pin_6

,gpio_pin_set);

hal_gpio_writepin

(gpioh

,gpio_pin_9

,gpio_pin_set);

/*配置gpio引腳*/

gpio_initstruct.pin =

gpio_pin_5

|gpio_pin_6

;//引腳號 5 6

gpio_initstruct.mode =

gpio_mode_output_pp

;//引腳輸出模式 pp推挽輸出

gpio_initstruct.pull =

gpio_pullup

;// 引腳上拉模式

gpio_initstruct.speed =

gpio_speed_freq_low

;// 輸出速度為低速

hal_gpio_init

(gpioe

,&gpio_initstruct)

;// 配置埠引腳

/*configure gpio pin : ph9 */

gpio_initstruct.pin =

gpio_pin_9

; gpio_initstruct.mode =

gpio_mode_output_pp

; gpio_initstruct.pull =

gpio_pullup

; gpio_initstruct.speed =

gpio_speed_freq_low

;hal_gpio_init

(gpioh

,&gpio_initstruct)

;}

while(1

)

STM32 HAL時鐘初始化

由cubmx生成的stm32f1工程的內部時鐘和外部時鐘定義在stm32f1xx hal config.h中的 if defined hse value define hse value uint32 t 16000000 value of the external oscillator in hz...

stm32埠初始化

今天上課,點亮數碼管,gpio初始化後,數碼管上有一段亂碼。要讓這亂碼消失掉,需要改變gpio初始化的順序。在gpio埠使能後,要加odr 埠暫存器 控制 gpio inittypedef gpio initstructure 定義乙個結構體 rcc apb2periphclockcmd rcc a...

STM32HAL庫中斷函式原理

hal uart receive it函式分析 hal statustypedef hal uart receive it uart handletypedef huart,uint8 t pdata,uint16 t size process locked 設定程序鎖 可以理解為接受過程中不被其他...