STM32 暫存器庫和韌體庫

2021-09-07 11:02:53 字數 896 閱讀 6233

暫存器和韌體庫開發的差別和聯絡

韌體庫就是函式的集合,韌體庫函式的作用是向下負責與暫存器直接打交道。向上提供使用者函式呼叫的介面(api)。

在 51 的開發中我們經常的作法是直接操作暫存器,比方要控制某些 io 口的狀態,我們直

接操作暫存器:

p0=0x11;

而在 stm32 的開發中,我們相同能夠操作暫存器:

gpiox->brr = 0x0011;

這樣的方法當然能夠,可是這樣的方法的劣勢是你須要去掌握每乙個暫存器的使用方法。你才幹正確使用

stm32,而對於 stm32 這樣的級別的 mcu,數百個暫存器記起來又是談何easy。於是 st(意法

半導體)推出了官方韌體庫。韌體庫將這些暫存器底層操作都封裝起來,提供一整套介面(api)

供開發人員呼叫,大多數場合下,你不須要去知道操作的是哪個暫存器,你僅僅須要知道呼叫哪些

函式就可以。

比方上面的控制 brr 暫存器實現電平控制,官方庫封裝了乙個函式:

void gpio_resetbits(gpio_typedef* gpiox, uint16_t gpio_pin)

這個時候你不須要再直接去操作 brr 暫存器了。你僅僅須要知道怎麼使用 gpio_resetbits()這個

函式就能夠了。在你對外設的工作原理有一定的了解之後。你再去看韌體庫函式,基本上函式

名字能告訴你這個函式的功能是什麼,該怎麼使用,這樣是不是開發會方便非常多?

不論什麼處理器。無論它有多麼的高階,歸根結底都是要對處理器的暫存器進行操作。可是固

件庫不是萬能的,您假設想要把 stm32 學透。光讀 stm32 韌體庫是遠遠不夠的。你還是要了

解一下 stm32 的原理,而這些原理了解了。你在進行韌體庫開發過程中才可能得心應手游刃

有餘。

STM32官方標準韌體庫開發與暫存器開發的區別

一句話概括關係 韌體庫就是函式的集合,韌體庫函式的作用就是 向下負責與暫存器直接打交道,向上提供使用者函式呼叫的介面 api 對於stm32這種級別的mcu,數百個暫存器記起來何談容易,於是推出了官方韌體庫,韌體庫將這些暫存器底層操作都封裝起來,提供一套api供開發者使用。大多數情況下,你不需要知道...

STM32蜂鳴器 暫存器

這次實驗犯了個笑話,竟然在巨集定義後面加分號.就像這樣 define 大家千萬不要學我,結果報錯expected expression,還苦惱半天,想為啥操作不了暫存器了?我真愚蠢!剛開始我也不會寫這些東西,其實摸清套路就好,rcc時鐘使能 gpio初始化 相關暫存器初始化 延時函式 串列埠等初始化...

STM32暫存器對映

1.對映即將記憶體的某段位址與某一暫存器對應,微控制器對函式的操作底層是操作暫存器,而暫存器最終是操作記憶體上對應的單元,2.各個暫存器對應的位址都是在st定義的起始位址上層層偏移得到 3.想要實現某功能可直接對此段記憶體寫進相應的值,即可賦予某一功能 4.stm32底層實際是先定義出外設基位址,然...