定時器部分
由於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軟體上稍微操作一下,生成的 直接能跑,串列埠收發資料都正...