新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32的 位尋址(地址映射)

STM32的 位尋址(地址映射)

作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
STM32的寄存器的分布情況:





本文引用地址:http://butianyuan.cn/article/201611/322569.htm

STM比較特色的就是 位帶操作:

如下解釋:

(寄存器的地址是固定好的,我們想要進行位操作的話 就需要用到地址映射,將位帶區(qū)寄存器的 各位 映射到 位帶別名區(qū)的地址。)





通過 位帶別名區(qū) 的 4個字節(jié)(32個位)用來存放 位帶區(qū)的 位地址。

如將 0x2200 0000 映射到 0x2000 000 的第一個位!

具體的映射C程序是這樣的:


算法公式:

(addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)

addr & 0xF0000000: 取0x4001 0808的最高位 得到 0x4000 0000

+0x2000000得到 0x4200 0000

+((addr &0xFFFFF)<<5): 將低5位提取出來 乘以 32.映射到位帶別名區(qū)

bitnum<<2 :對第2位 進行加操作。 乘以4. 映射到某位

得到其位帶別名區(qū)的地址



關(guān)鍵詞: STM32位尋址地址映

評論


技術(shù)專區(qū)

關(guān)閉