嵌入式开发之设置寄存器中指定位

news/2024/11/8 0:28:58/

0 Preface/Foreword

嵌入式开发,位操作是常用的运算,读写对应寄存器指定位从而设置不同的功能。

1 设置寄存器中的任意位

1.1 清零

举例,假设一个寄存器名字为FUNCCON,地址为0x00008000,该寄存器长度为4个byte。

#define FUNCCON  (*(volatile unsigned long *)0x00008000) 

#BIT(n) (1UL << n)

现在需要将bit15清零,而且不能影响其他位,该如何操作呢? 

FUNCCON &= ~BIT(15);

分析:

  • 位操作中,&,双目运算符,表示两个操作数中所有位相与,对应位都是1则为1,否则为0;
  • 位操作中,~,单目运算符,表示取反,数据中所有位都取反, 1变成0,0变成1;

1.2 置1

举例,假设一个寄存器名字为FUNCCON,地址为0x00008000,该寄存器长度为4个byte。

#define FUNCCON  (*(volatile unsigned long *)0x00008000) 

#BIT(n) (1UL << n)

现在需要将bit12置1,而且不能影响其他位,该如何操作呢? 

FUNCCON |= BIT(15);

 


http://www.ppmy.cn/news/332440.html

相关文章

经验总结:13 条自动化测试框架设计原则!

1.代码规范 测试框架随着业务推进&#xff0c;必然会涉及代码的二次开发&#xff0c;所以代码编写应符合通用规范&#xff0c;代码命名符合业界标准&#xff0c;并且代码层次清晰。特别在大型项目、多人协作型项目中&#xff0c;如果代码没有良好的规范&#xff0c;那么整个框…

3.1 掌握RDD的创建

一、RDD为何物 &#xff08;一&#xff09;RDD概念 Spark提供了一种对数据的核心抽象&#xff0c;称为弹性分布式数据集&#xff08;Resilient Distributed Dataset&#xff0c;RDD&#xff09;。这个数据集的全部或部分可以缓存在内存中&#xff0c;并且可以在多次计算时重用。…

笔记本通过hdmi连接显示器分辨率设置

1、右键显示设置中 多显示器设置选择 仅在2上显示 ——>

笔记本如何通过HDMI连接电视

通过一根【HDMI】线直接连接电视和电脑&#xff0c;就可以将电脑直接投屏到电视上&#xff0c;或者将电视屏幕作为电脑的扩展屏&#xff0c;非常好用。 一般电视有2个接口&#xff0c;电脑有1个接口。电视端任选一个接口即可。 电视端在【设置】中找到【选择播放源】or【切换播…

笔记本通过HDMI接口外接显示器,显示器画面模糊或颜色比较暗的解决办法

笔记本通过HDMI接口外接了一台1080P&#xff08;1920*1080分辨率&#xff09;的显示器&#xff0c;但显示器中的文字看起来模糊&#xff0c;并且画面偏暗&#xff0c;如何解决&#xff1f; 1.调整文本/文字大小 说明:设置更改文本、应用等项目的大小比例为125% 2、调整HDMI的…

笔记本电脑插入HDMI外接显示器没有声音问题

笔记本电脑插入HDMI外接显示器没有声音 1.将鼠标箭头放到右下角声音的大小调节的图标上&#xff0c;此时播放的应该为外置显示器音频&#xff0c;需要切换为电脑自带的声卡。 2.打开电脑控制面板 打开声音选项 双击显示器音频&#xff0c;禁止使用停用它就可以了&#xff0c…

笔记本电脑HDMI口突然不好使

1. 问题描述&#xff0c;笔记本外接显示器&#xff0c;突然黑屏&#xff0c;怎么都不好使。 2. 初步怀疑是数据线出了问题&#xff0c;插在其他电脑上显示正常。排除线损坏可能。 3. 仔细检查电脑hdmi口&#xff0c;也并未发现异常&#xff0c;没看到损坏。 4. 检查是否驱动…