欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2924|回復: 0
打印 上一主題 下一主題
收起左側

STM32位帶操作的實現解讀 附源程序

[復制鏈接]
跳轉到指定樓層
樓主

位帶的概述

2.1.1 什么是位帶操作?

              先認識兩個概念:位帶區、位帶別名區。

位帶區:支持位帶操作的地址區。

              位帶別名區:位帶區映射的地址區

由圖可知,位帶區的每一位,在位帶別名區中都有32位對應。(假裝理解:在位帶區中它是1位,在位帶別名區中它膨脹了,為32位)


位帶操作:

簡單理解,能對單片機的某一位進行單獨操作。

復雜理解,對位帶別名區的操作,最終會映射到位帶區中。理解:你對位帶別名的某32位地址寫入1,相當于在這個32位地址對應的位帶區中的某一位寫1。

2.1.2位帶操作的細節?

              在位帶區中,每個位(比特)都映射到別名地址區的一個(32位)字——這字只有 LSB (最低位)有效。

              理解:在位帶別名區中某個32位地址中寫入0x1,0x3,0x7,0xf是一樣的效果,都映射到位帶區中的某一位寫入1。

支持位帶操作的兩個內存區的范圍是:

0x2000_0000-0x200F_FFFF( SRAM 區中的最低 1MB)

0x4000_0000-0x400F_FFFF(片上外設區中的最低 1MB)

2.1.3 位帶操作的好處

《1》書寫方便、使代碼簡潔

              以前對某一位進行操作時(寫操作)

                            讀----讀取整個寄存器

                            改----屏蔽不需要的位,修改需要的位

                            寫----把修改好的值,寫回寄存器

              現在對某一位進行操作時(寫操作)

                            寫----確定需要修改的位,寫入對應位帶別名區

《2》安全

              以前讀、改、寫,是三個步驟,在多中斷系統中,存在數據寫入丟失的風險。

              位帶操作、一步到位、直接寫,不會存在數據寫入丟失風險。底層是執行一個原子操作的讀、改、寫過程,不允許被中斷。

2.1.4 位帶操作的實現

映射公式:

              理解公式從這個角度理解:位帶操作的位帶區與位帶別名區的關系是:一個比特位(1位)與一個字(32位=4個字節)之間的映射

1比特位與4個字節的對應

2.2 位帶軟件實現

2.2.1 片上外設位帶實現

以PA端口為例:

第一步:找出PA端口數據寄存器對應的地址。

復盤:

              0x4000 0000

              0x0002 0000

              0x0000 0000

              0x0000 0014

相加結果:

              0x4002 0014

第二步:根據公式,求出位帶區別名區中地址

2.3補充

位帶操作開始難以理解其實現原理,但漸漸喜歡位帶操作,漸漸了解一點一點。

《1》位帶操作,實現51類似的IO控制功能

《2》位帶區中的每一比特位,都映射到別名區的一個字(4個字節)(綁定關系)

《3》對別名地址的訪問最終作用到位帶區的訪問上


以上文檔51hei下載地址:

位帶操作.docx (1.91 MB, 下載次數: 22)

頭文件: M4位帶操作文件.zip (910 Bytes, 下載次數: 16)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表