STM32標準庫與HAL庫,暫存器對照表

2021-10-08 06:47:22 字數 1503 閱讀 3563

定時器部分

由於stm32標準庫出現的時間早,現在市面上stm32的資料很多都是標準庫的,但隨著hal庫的cubemx的廣泛使用,兩個庫之間的效率,記憶體使用,方便程度不同,為滿足不同人的需求,兩個庫之間的相互轉換十分重要。

標準庫:

uint8_t gpio_readinputdatabit

(gpio_typedef* gpiox, uint16_t gpio_pin)

//舉例:

state =

gpio_readinputdatabit

(gpioa, gpio_pin_7)

hal庫:

gpio_pinstate hal_gpio_readpin

(gpio_typedef* gpiox, uint16_t gpio_pin)

//舉例:

state =

hal_gpio_readpin

(gpioa, gpio_pin_7)

標準庫:

void

tim_cmd

(tim_typedef* timx, functionalstate newstate)

//函式

//舉例:

tim_cmd

(tim2, enable)

;tim_cmd

(tim2, disable)

;

hal庫:

//1.使能:

#define __hal_tim_enable(__handle__) ((__handle__)->instance->cr1|=(tim_cr1_cen))

//巨集定義

//舉例:

__hal_tim_enable

(&htim14)

;//2.失能:

#define __hal_tim_disable(__handle__)

//舉例:

__hal_tim_disable

(&htim14)

;

標準庫:

uint16_t tim_getcounter

(tim_typedef* timx)

//舉例:

num =

tim_getcounter

(tim3)

;

hal庫:

#define __hal_tim_get_counter(__handle__) ((__handle__)->instance->cnt)

//舉例:

__hal_tim_get_counter

(&htim14)

;

暫存器:

//直接cnt暫存器讀值

//舉例:

num = tim14->cnt;

基於標準庫和HAL庫的stm32程式設計

二 例項程式 三 總結 參考文獻 通常在入門stm32的時候,首先都要先選擇一種要用的開發方式,不同的開發方式程式設計的架構是完全不一樣的。一般大多數都會選用標準庫和hal庫,而極少部分人會通過直接配置暫存器進行開發。網上關於標準庫 hal庫的描述相信是數不勝數。可是乙個對於很多剛入門的朋友還是沒法...

初始STM32標準庫

庫檔案一開始包含五個檔案 htmresc libraries project utilities stm32f10x stdperiph lib um.chm下面一一介紹 裡邊只有兩張,一張cmsis的logo,另一張是st的logo 裡邊是st官方實驗板的例程,目前不會用到。這個是庫幫助文件,我們...

STM32的HAL庫初體會

最近有個小專案,通過串列埠發命令來控制電路板上繼電器動作。板子上的晶元是stm32f030。這款晶元以前用過一次,但是還是不熟悉。選它的原因是功能夠用,而且便宜,比經常用的stm32f103便宜好多。後來一想,可以用hal庫試試。然後在cube軟體上稍微操作一下,生成的 直接能跑,串列埠收發資料都正...