news 2026/6/9 20:13:22

简单理解:如何操作寄存器清理对应的位,举例如下。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单理解:如何操作寄存器清理对应的位,举例如下。

想只清倍频因子位(bit8~13)、丝毫不碰其他配置?必背底层位操作模板 + 完整规则解析,新手也能一次搞定:XT_CKCU->COREPLLCFGR &= ~(0x3F << 8);

一、先掌握 &= 核心规则(操作的根本逻辑)

&=(按位与赋值)是实现 “精准清位、保留其他” 的关键,规则只有两条,记死就行:

✅ 掩码对应位 = 1 → 保留寄存器原有值(1 & 原有值 = 原有值,不改动);

❌ 掩码对应位 = 0 → 强制将寄存器位清 0(0 & 原有值 = 0,必清空);我们的目标:仅清 bit8~13,其余位保留 → 必须打造 “bit8~13=0,其他位 = 1” 的理想掩码。

二、模板逐段拆解(每一步都为 &= 规则服务)

0x3F:十六进制 = 二进制00111111,6 个连续 1 → 作为 “6 位宽的目标位圈定器”,明确要操作 6 个连续位,为后续定位打基础;

<< 8:左移 8 位 → 把 6 个 1 精准平移到 bit8~13(PLL 倍频因子对应的位),锁定目标位置,避免操作跑偏到 bit0~5;

~:按位取反 → 把 “bit8~13=1,其他位 = 0” 的初始掩码,转换成 “bit8~13=0,其他位 = 1” 的理想掩码,完美匹配 &= 清位规则;

&=:按位与赋值 → 用理想掩码与寄存器原值运算,最终仅 bit8~13 被清 0,时钟源、分频系数等其他关键配置完全保留!

三、避坑三禁令(违背 &= 规则必出错)

  1. 禁省<<8:少了左移,6 个 1 停在 bit0~5,&= 后误清无关位,PLL 倍频因子没变化;
  2. 禁省~:省了取反,掩码是 “bit8~13=1,其他 = 0”,&= 后目标位保留、其他位全清,PLL 直接瘫痪;
  3. 禁换0x3F为 0:6 个 0 无法圈定目标位,掩码全 0,&= 后所有位清 0,寄存器配置全丢。

这行代码的精髓,就是让每一段都精准适配 &= 的位运算规则,实现 “最小改动、精准清位”——HC32 PLL 配置、寄存器目标位更新直接套用,收藏即用不踩坑!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 0:31:21

Jupyter魔法命令%%writefile生成TensorFlow脚本文件

Jupyter魔法命令%%writefile生成TensorFlow脚本文件 在AI开发的日常实践中&#xff0c;一个常见的困境是&#xff1a;模型在Notebook里跑得飞快、结果漂亮&#xff0c;可一旦要部署到生产环境&#xff0c;却发现代码散落在各个单元格中&#xff0c;依赖关系混乱&#xff0c;根本…

作者头像 李华
网站建设 2026/6/9 1:06:50

JDK 23 instanceof 原始类型支持来了,你的项目还敢用旧版本?

第一章&#xff1a;JDK 23 instanceof 原始类型支持正式落地Java 开发工具包&#xff08;JDK&#xff09;23 正式引入了对 instanceof 操作符支持原始类型的功能&#xff0c;这标志着 Java 类型系统在表达能力和运行效率之间取得了进一步的平衡。开发者现在可以直接对 int、dou…

作者头像 李华
网站建设 2026/6/9 1:02:50

Python数据库操作太慢?立即升级异步架构的6个信号

第一章&#xff1a;Python数据库操作效率低下的根源剖析在Python应用开发中&#xff0c;数据库操作的性能直接影响系统的响应速度与吞吐能力。许多开发者在初期未察觉问题&#xff0c;但随着数据量增长&#xff0c;查询延迟、连接阻塞等问题逐渐暴露。其根本原因往往并非数据库…

作者头像 李华
网站建设 2026/6/9 0:35:36

还在为包装类型判空崩溃?JDK 23 instanceof 原始类型支持一招解决

第一章&#xff1a;还在为包装类型判空崩溃&#xff1f;JDK 23 instanceof 原始类型支持一招解决Java 开发中&#xff0c;处理包装类型的空指针问题是常见痛点。以往在使用 instanceof 判断对象类型时&#xff0c;若对象为 null&#xff0c;虽不会抛出异常&#xff0c;但在后续…

作者头像 李华
网站建设 2026/6/9 16:13:11

为什么你的FastAPI接口在Swagger中总报错?深度剖析5大常见陷阱

第一章&#xff1a;FastAPI Swagger UI 接口调试FastAPI 内置了交互式 API 文档工具 Swagger UI&#xff0c;开发者可通过浏览器直接查看和调试所有定义的接口。启动 FastAPI 应用后&#xff0c;默认在 /docs 路径下即可访问该界面&#xff0c;无需额外配置。启用 Swagger UI 只…

作者头像 李华
网站建设 2026/6/9 16:09:55

HTML前端展示AI结果:TensorFlow-v2.9输出可视化实战

HTML前端展示AI结果&#xff1a;TensorFlow-v2.9输出可视化实战 在人工智能日益渗透到各行各业的今天&#xff0c;一个训练好的深度学习模型早已不再是“黑箱”里的神秘函数。越来越多的企业和开发者面临同一个问题&#xff1a;如何让非技术背景的用户也能直观理解模型的输出&a…

作者头像 李华