STM32学习——位带区的理解-程序员宅基地

技术标签: # STM32学习系列  

位带简介

位操作就是可以单独的对一个比特位读和写,类似与51中sbit定义的变量,stm32中通过访问位带别名区来实现位操作的功能
STM32中有两个地方实现了位带,一个是SRAM,一个是片上外设。在这里插入图片描述

个人理解

(1)位带本质上是一块地址区(例如每一位地址位对应一个寄存器)映射到另一片地址区(实现每一位地址位对应一个寄存器中的一位),该区域就叫做位带别名区,将每一位膨胀成一个32位的字。
(2)位带区的4个字节对应实际寄存器或内存区的一个位,虽然变大到4个字节,但实际上只有最低位有效(代表0或1)
在这里插入图片描述

映射过程

要设置0x2000 0000这个字节的第二个位bit2为1,使用位带操作的步骤有:
1、将1写入位 带别名区对应的映射地址(即0x22000008,因为1bit对应4个byte);
2、将0x2000 0000的值 读取到内部的缓冲区(这一步骤是内核完成的,属于原子操作,不需要用户操作);
3、将bit2置1,再把值写 回到0x2000 0000(属于原子操作,不需要用户操作)。
在这里插入图片描述
看一段代码
在这里插入图片描述
其中A是我们想要操作的位所在的字节地址(原地址),0x40000000是外设位带区的起始地址,0x42000000时外设位带别名区的起始地址。
一个字节有8位,每一位膨胀后是4个字节,所以84;
n(0<=n<=7)是位序号,所以*4;

对于位带区,只是理解,用的并不普遍。。。
Reference:
https://www.cnblogs.com/leo0621/p/9494290.html
野火教程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44586750/article/details/97370963

智能推荐

清华汪玉等电子设计自动化ML论文综述:180篇文献、ACM TODAES接收-程序员宅基地

文章浏览阅读354次。来源:机器之心本文约3400字,建议阅读8分钟44页综述、180篇参考文献、16位作者。近年来,机器学习的快速发展使其在各行各业迎来了更加广泛和深入的应用,电子设计自动化领域也不..._eda算法 清华

android gravity和layout_gravity区别-程序员宅基地

文章浏览阅读939次。LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。区别在于:android:gravity 用于设置组件本身里面内容或者子控件的对齐方式,比如Button里面的文字,如果android:gravity="left",那么文字文字就会靠左显示android:layout_gravity 用于设置组件在layout容

【SE】Week3 : 四则运算式生成评分工具Extension&Release Version(结对项目)-程序员宅基地

文章浏览阅读165次。Foreword  此次的结对项目终于告一段落,除了本身对软件开发的整体流程有了更深刻的了解外,更深刻的认识应该是结对编程对这一过程的促进作用。    在此想形式性但真心地啰嗦几句,十分感谢能端同学能够不厌其烦地接受我每次对软件的修改提议,并在代码实现过程中为团队贡献了许多人性化的tips;    另外,他积极好学的心态也很让我佩服。从初入面向对象,数据结构的使..._信息四则运算自动打分

HCS 基本概念(三)_hcs global-程序员宅基地

文章浏览阅读716次。6、VIMS心跳网络:如果FC上使用的是VIMS文件系统,则需要部署该网络,可以在数据存储页面选择关闭,关闭之后VIMS心跳流量走管理面,如果单独规划,所有使用虚拟化数据存储的主机都必须单独规划该网络。7、存储网络:CNA后端存储平面,用来为FC提供存储平面的网络,如果使用高级SAN、FS、IP SAN、NAS等后端存储时,需要规划,如果使用FC不需要单独规划。OBS:对象存储服务,一个基于对象的海量存储服务,为客户提供海量、安全、高可靠性、低成本的数据存储能力,适用于任意场景。_hcs global

rust外服组建战队_[新手教程]模组服服务器指令大全(最新版)-程序员宅基地

文章浏览阅读1.7w次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼帮助菜单指令:/bz /help (国服基本为第一条指令,第二天多用于外服)设置家:/sethome_1 /addhome_1 /homeadd_1 (大部分服务器使用第一条指令即可,少数外服使用后两条指令“_”为空格,1为家的名字,可随意更换)查看已设置家的列表:/listhome删除家:/removehome_1 ("_"为空格,1为你想..._rust外服指令

Prometheus监控,生产可用告警规则(可获取主机名)_prometheus yaml 设置 nodename 主机名字-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏6次。以下是生产环境中prometheus.rules.yml告警规则用例,在此记录一下,相关信息已做脱敏处理。有需要的小伙伴可以直接拷贝使用。groups: - name: 成都服务器告警 rules: - alert: 服务器宕机告警 expr: up == 0 for: 2m labels: region: 成都 annotations: summary: "{{$labels.instance}} 宕_prometheus yaml 设置 nodename 主机名字

随便推点

Kibana:如何开始使用 Kibana_kibana使用-程序员宅基地

文章浏览阅读1.6w次,点赞12次,收藏79次。Kibana是用于在Elasticsearch中可视化数据的强大工具。 这是开始探索您的Elasticsearch数据的方法。Kibana是一种开免费及开放的分析和可视化工具,可通过基于浏览器的界面轻松搜索,可视化和探索大量数据。 除了Elasticsearch,Logstash和Beats之外,Kibana是Elastic Stack(以前称为ELK Stack)的核心部分。Elasticsearch..._kibana使用

【Comet OJ - Contest #14 E 飞翔的小鸟】【图论】_comet 飞翔的小鸟-程序员宅基地

文章浏览阅读226次。题意给一个nnn个点mmm条边的有向图,对每个点xxx求从111到xxx的所有路径中边权极差最大是多少。n≤200000,m≤500000n\le200000,m\le500000n≤200000,m≤500000分析先缩点,这样新图里的点也有了点权。假设先经过最小值再经过最大值,那么枚举经过最大值之前经过的最后一条边,预处理fxf_xfx​表示走到xxx经过的最大权值,就可以知道每一条..._comet 飞翔的小鸟

从内核驱动到android app_inux驱动为android提供接口-程序员宅基地

文章浏览阅读5.1k次,点赞8次,收藏10次。了解android驱动开发。_inux驱动为android提供接口

Unity3D技术栈-程序员宅基地

文章浏览阅读308次,点赞7次,收藏5次。这款引擎支持多种编程语言,包括C#、UnityScript和Boo,使得开发者可以根据自己的习惯和需求选择合适的工具。同时,Unity3D还提供了丰富的API和工具集,包括物理引擎、动画系统、音频处理、UI设计等,使得开发者能够轻松地构建出高质量的游戏和应用程序。它以其强大的功能、友好的界面和高效的性能,赢得了广大开发者的青睐。但Unity3D的魅力远不止于此,它更是一个完整的技术栈,涵盖了从游戏设计到最终发布的每一个环节。它以其强大的功能、友好的界面和高效的性能,为开发者提供了从设计到发布的全方位支持。

工控: WinCC之OPCUA 使用总结_wincc opc ua服务器设置-程序员宅基地

文章浏览阅读1.6k次。4. 将 C:\Program Files\Siemens\WinCC\opc\UAWrapper\PKI\CA\rejected\certs\ OPC.SimaticNET.S7.der。拷贝到 C:\Program Files\Siemens\WinCC\opc\UAWrapper\PKI\CA\certs 并且安装。3. wincc变量管理 -> opc -> opc groups -> opc条目管理器 -> opc ua 服务器 -> 浏览服务器。_wincc opc ua服务器设置

逍遥模拟器配合fiddler爬取抖音视频!开源免费!_逍遥模拟器 哪个版本支持抖音-程序员宅基地

文章浏览阅读4.4k次,点赞3次,收藏16次。## 五、总结:**(1)抖音属于手机APP,电脑上没有办法直接得到访问路径请求,需要下载fiddler链接抓取包! fiddler配置及下载信任证书并信任!(2)下载模拟器,模拟手机操作抖音,fiddler实时监控模拟器上的动作,得到请求地址! 模拟器上下载fiddler证书并信任,模拟器上下载抖音,模仿手机操作, !让抖音平台认为是用户手机浏览操作(3)分享得到的地址中的josn数据包中的数据,找到自己想要的数据! awenm_list----->{}----->video-_逍遥模拟器 哪个版本支持抖音