stm32 中位址的理解

2022-06-26 19:45:13 字數 524 閱讀 7665

**

stm32的中位址是按bit,byte,還是word作為單位的?    例如0x8000000,它後面的單位是什麼? byte

為什麼有的位址是按照uint16_t,有的是按照uint32_t,這個是為什麼?為什麼有的位址是按照uint16_t,有的是按照uint32_t,這個是為什麼?

#define flash_base             ((uint32_t)0x08000000)  

那flash_base是個位址,為什麼要對這個位址使用(uint32_t)轉換呢?

答:就是賦給它乙個資料型別。這樣,*flash_base 就是乙個雙字(4位元組)。

那flash_base是個位址,為什麼要對這個位址使用(uint32_t)轉換呢?

你看看這個巨集定義是在什麼地方使用的,看名字,應該是賦給某個位址變數的,那個變數的型別應該就是uint32_t的。

你當然也可以不在巨集定義的地方給出型別,而在賦值的時候自己做型別轉換,甚至讓編譯器自己做自動型別轉換可能也是可以的,只是效率低一點,**可讀性差一點。

STM32庫的理解

1 條件編譯的作用是避免重複包含 2 暫存器說白了就是記憶體,對暫存器的操作就是對記憶體的操作 3 51微控制器對暫存器是直接操作的,而stm32則是間接操作,如下圖 明白了以上三點,我們就可以來揭開庫的那層神秘的面紗了 因為我們對暫存器的操作,即對記憶體的操作,是間接的。是通過庫函式來實現的,也就...

stm32之GPIO的理解

寫這個部落格著重縷清自己的思路,對基礎的東西有個更好的理解。gpiox crh 與gpiox crl 可以配置gpio的各種模式,進行初始化。gpiox bsrr 32位暫存器,可以寫入或清除1 0 gpiox idr 低16位暫存器,讀取io的電平 gpiox odr 低16位暫存器,寫入io的電...

STM32 庫開發 位址對映

1.stm32有ahb,apb2,apb1匯流排。其中apb2外設位址空間是從0x40010000至0x40013fff位址。第乙個位址稱為基位址。gpio typedef gpiox gpiox gpioa gpiox crl 0xffffffff 3.配置gpio的暫存器要開啟外設時鐘!區別於5...