当前位置: 首页 > 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://icebutterfly214.com/news/178239/

相关文章:

  • 如何更好地学习 Java(适合初学者)
  • 先知AI如何重塑男装行业?
  • Miniconda-Python3.9运行时间序列预测模型LSTM
  • 一文吃透 AI 智能体(Agent):从基础到核心,这篇干货总结不容错过
  • Pyenv指定Python版本安装指南(含3.9.16)
  • 掌握大模型:一份完整学习资源指南,建议马上收藏!_神仙级AI大模型入门教程(非常详细)
  • zzCoze、Dify、FastGPT深度对比分析,智能体平台
  • NVIDIA 生成key
  • 2025海外人力资源服务商盘点,名义雇主EOR公司推荐 - 品牌2025
  • 北京房山区公司清算律师事务所口碑排名2026:权威解决方案与靠谱机构推荐 - 苏木2025
  • Miniconda-Python3.9与Streamlit快速搭建可视化界面
  • Miniconda-Python3.9环境下生成Markdown报告
  • 成都雅思培训效果好的机构有哪些?真实口碑参考 - 品牌排行榜
  • Miniconda-Python3.9如何提升GPU算力利用率
  • Miniconda-Python3.9安装PyYAML、NumPy等常用库指南
  • 计科生打 CTF 通关秘籍:零基础入门到赛场拿分,避坑手册 + 实战思路全解析
  • upload markdown - ling
  • 函数—C++的编程模块(函数和string 对象)
  • 淄博抖音代运营公司哪家更靠谱?2025年终7家服务商权威评测与最终推荐! - 品牌推荐
  • 怎么通过 企业版的 google api 调用LLM gemini3
  • PyTorch实验日志记录系统搭建:Miniconda-Python3.9基础环境
  • Mac M1芯片适配:Miniconda-Python3.9安装PyTorch ARM版本
  • PyTorch异步推理任务处理:Miniconda-Python3.9环境队列设计
  • PyTorch自动微分机制验证:Miniconda-Python3.9环境实操
  • Windows10/11右键-超级菜单-MCU(动态菜单)
  • Miniconda-Python3.9镜像显著提升AI开发效率的5大理由
  • 现代企业API管理平台选型全景解析
  • 贪心算法专题(九):左顾右盼太累,不如分头行动——「分发糖果」
  • Miniconda-Python3.9如何支持PyTorch与TensorRT集成
  • 在Arm架构的ubuntu中,使用qt qmediaplayer播放视频报错Warning: “No decoder available for type ‘video/mpeg...