当前位置: 首页 > news >正文

简单理解:|= (1 << 8) 不破坏其他位,仅修改目标位的标准写法

|= (1 << 8):位设置操作(关键)

这是嵌入式开发中 “不破坏其他位,仅修改目标位” 的标准写法,拆解为两步:

  • 第一步:1 << 8表示将二进制0b00000001左移 8 位,结果是0b100000000(十进制 256)。作用是:生成一个 “仅第 8 位为 1,其余位为 0” 的 “掩码(mask)”。
  • 第二步:|=(按位或赋值)按位或运算规则:0 | 0 = 00 | 1 = 11 | 0 = 11 | 1 = 1。结合掩码使用时,目标位(bit8)会被强制设为 1,其他位保持原有值不变(因为掩码其他位是 0,按位或后不改变原数据)。

三、等价写法(便于理解)

这句话等价于:

XT_CKCU->GCFGR = XT_CKCU->GCFGR | (1 << 8);

先读取GCFGR的当前值,与掩码做按位或,再写回寄存器 —— 核心是 “只改 bit8,不改其他位”。

http://www.rkmt.cn/news/182130.html

相关文章:

  • 先知AI如何重塑男装行业?
  • HTML前端与Python后端协同:Miniconda环境下的Flask部署
  • Miniconda-Python3.9环境下使用AsyncIO提高I/O效率
  • 靠谱!这家薄膜电容中端品牌企业,你知道吗?
  • msvcp140_atomic_wait.dll文件损坏丢失找不到 打不开程序 下载方法
  • 2025自考必备!8个AI论文平台测评,毕业论文写作全攻略
  • 白酒是地产的影子股吗?
  • 2025年全屋定制工厂排行榜:推荐靠谱的高端品牌 - 睿易优选
  • Miniconda-Python3.9如何清理无效缓存释放空间
  • 2025宁波婚姻家事律师服务推荐TOP5:深度测评婚姻诉讼辩护、抚养权官司专业律所 - 工业推荐榜
  • 什么是Web安全?Web安全又分为哪几个部分?Web安全又该如何学习?
  • Miniconda-Python3.9如何升级Python到最新补丁版本
  • Miniconda-Python3.9环境下使用Wandb记录实验
  • Miniconda-Python3.9与HTML前端交互的简单实现
  • 化工小伙转行运维,参与星火大模型项目,薪资从12K到19K*14薪的逆袭之路
  • 在 Ubuntu 18.04 上安装 VS Code
  • 利用Miniconda-Python3.9实现多项目Python环境隔离
  • Linux下conda init命令执行失败的五种解决办法
  • 基于单片机压电式超声波测距系统设计
  • 基于Miniconda-Python3.9的轻量级AI开发环境推荐
  • 震惊!AI Agent记忆系统大揭秘:让你的AI拥有“过目不忘“的超能力,程序员必看!
  • Miniconda-Python3.9环境下使用Gradio快速展示模型
  • 基于STM32F1038T6单片机的汽车疲劳驾驶报警系统
  • CentOS停更后的新选择:图文详解安装6.x内核openEuler+GNOME图形桌面
  • 问卷设计 “业余 vs 专业” 差在哪?虎贲等考 AI:新手也能做出期刊级调研工具
  • zzCoze、Dify、FastGPT深度对比分析,智能体平台
  • leetcode 820. Short Encoding of Words 单词的压缩编码
  • NVIDIA 生成key
  • 大模型时代的“产品经理革命“:AI Agent PM如何成为编程圈的“天选之子“
  • 阅读笔记