關於STM32暫存器的理解

2021-07-22 06:04:31 字數 628 閱讀 1958

我們以stm32f4系列為例,

他有7根控制匯流排和8根被控匯流排(s0-7),他們交叉的圓點表示這兩根匯流排之間可以互相通訊,m0,m2,m6表示stm32的三種不同啟動方式,flash啟動(包含系統儲存器),內部sram啟動,外部ram啟動。

儲存器本身不具有位址,是廠商或者我們使用者自己給他分配位址的,這個過程就叫做儲存器對映,如果我們給儲存器再 分配乙個位址,就叫做儲存器的重對映。

根據不用的晶元我們可以查閱其datasheet中的memory map獲得資訊。

我們重點要知道block0,1,2 因為它們分別設計成了 內部flash,內部ram以及片上外設。block2裡又劃分了ahb和apb匯流排,ahb->ahb1和ahb2,apb->apb1和apb2。ahp掛高速外設,apb掛低速外設。相應最低匯流排的位址為匯流排首位址,所以apb1首位址也是外設基位址。

STM32蜂鳴器 暫存器

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

STM32暫存器對映

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

STM32之暫存器開發

首先克服心理作用,不要總是預設暫存器開發難,其實暫存器開發和庫函式開發所用的方法和難度是一樣的,並不難,下面用以stm32為例解釋。1.明確自己需要的功能 庫函式開發也需要 2.檢視手冊,找到功能對應的微控制器資源 3.找到功能所需暫存器 庫函式開發需要找到相應的功能函式 4.根據位址每位對應的功能...