stm32的位操作

2021-06-25 22:25:30 字數 585 閱讀 4975

位繫結的區域:

sram區

0x2000 0000 ~ 0x200f ffff

1mstm32的位帶操作簡單的說就是把乙個位址a的8個位,分別單獨的重新定義8個位址, 操作乙個位址等同於操作乙個位,形象的理解即為取別名。

sram  :0x22000000 +((a‐0x20000000)*8+n)*4

這裡的8表示8個位,4表示4個位元組,因為記憶體位址以4個位元組儲存,雖然乙個位址為乙個位元組。  n(0

別名區位址 = 位帶別名區起始位址+偏移量

片上外設  0x4000 0000 ~ 0x400f ffff

1maliasaddr = 0x4200 0000 + (a-0x4000 0000)*32(32個位)+n*4(4個位元組)

例如:u32 *pao3 = (u32 *) (0x42000000 + (0x4001080c-0x40000000)*32 + 3*4);

*pao3 = 0x02;//這裡的只是最低位有效,其他因此,最低位為0,只是輸入0。

stm32之位帶操作

stm32相對於8位微控制cpu來說實在強大的不得了,依稀記得51控制i o空的時候是 sbit led1 p0 0 然而我們在32卻沒有想 sbit 類似的關鍵字進行i o的某位進行操作。於是引入了 位帶操作的概念 什麼事位帶操作?標準的定義是 通過訪問位帶別名區來實現,即通過將每個位元位膨脹成乙...

stm32位段操作SRAM

三個寫得很好的教程 乙個小例子 include stm32f10x.h define bitband addr,bitnum addr 0xf0000000 0x2000000 addr 0xfffff 5 bitnum 2 將實際位址對映為別名區位址 由於後面定義的a為u8變數,0 bitnum ...

STM32位帶操作詳細介紹

3.gpio位帶實現 在stm32中,如果我們要使pb0埠輸出低電平,可以用如下語句 gpiob odr 0 0 在51微控制器中我們是這樣的 p0 0xff 匯流排操作 還有一種方法 sbit led1 p0 0 led1 0 位操作 在stm32中能不能實現位操作呢,當然是可以的,這種方法我們叫...