新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32的 位尋址(地址映射)

        STM32的 位尋址(地址映射)

        作者: 時間:2016-11-27 來源:網絡 收藏
        STM32的寄存器的分布情況:





        本文引用地址:http://www.104case.com/article/201611/322569.htm

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

        如下解釋:

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





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

        如將 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.映射到位帶別名區

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

        得到其位帶別名區的地址



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 石台县| 卓资县| 吉林省| 巩留县| 富顺县| 阜阳市| 习水县| 江津市| 黔南| 辽阳市| 读书| 建德市| 涟源市| 宜兰市| 阿克| 航空| 祁连县| 三河市| 泰州市| 万荣县| 平顺县| 大理市| 洪雅县| 蓬莱市| 凉城县| 石阡县| 开平市| 宝应县| 定结县| 天峨县| 隆尧县| 南溪县| 黑龙江省| 阿合奇县| 浏阳市| 德庆县| 鸡泽县| 新平| 喀喇沁旗| 延寿县| 鄂托克旗|