GPIO—位帶操作


GPIO—位帶操作
本章參考資料:《 STM32F4xx 中文參考手冊》存儲器和總線構架章節、 GPIO 章節,
Cortex®-M4 內核編程手冊》 2.2.5 Bit-banding。學習本章時,配套這些參考資料學習效果
會更佳。 

位操作就是可以單獨的對一個比特位讀和寫,這個在 51 單片機中非常常見。 51 單片
機中通過關鍵字 sbit 來實現位定義, F429 中沒有這樣的關鍵字,而是通過訪問位帶別名區
來實現。
F429 中,有兩個地方實現了位帶,一個是 SRAM 區的最低 1MB 空間,另一個是外
設區最低 1MB 空間。這兩個 1MB 的空間除了可以像正常的 RAM 一樣操作外,他們還有
自己的位帶別名區,位帶別名區把這 1MB 的空間的每一個位膨脹成一個 32 位的字,當訪
問位帶別名區的這些字時,就可以達到訪問位帶區某個比特位的目的。 

 

 

n這個位號,代表你想操作的位,比如GPIOH_PIN_10,此時n=10;在零死角中寫的0<=n<=8有錯誤。

 

 

 

為什么是低五位有效?因為位帶區的地址偏移最大0XFFFFF0X400 00000----0X400 FFFFF);相減最大就這么多,這樣可以巧妙地把兩個公式化成一個。

Stm32怎么知道什么時候是位帶操作的呢?因為硬件地址決定了芯片的功能,當你根據芯片的硬件設計,在對應地址操作的時候,就可以達到芯片設定的效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM