嵌入式中的位操作

本文介绍了嵌入式系统中位操作的重要性,详细讲解了位或 |、位与 &、位异或 ^ 的应用,以及如何使用位操作构建特定的二进制数。通过实例展示了在操作寄存器时如何进行位清零、检验和置位,以及如何通过移位和宏定义高效地进行位运算。文章最后提供了位运算演练和用C语言进行寄存器位操作的示例。
摘要由CSDN通过智能技术生成
位操作符
  1. 位或 |
  2. 位与 &
  3. 逻辑与 &&
  4. 逻辑或 ||
  5. 位取反 ~(可以连着使用 !!)
  6. 逻辑非 !(~~)
  7. 位异或 ^
  8. 左移和右移 >> <<
  • 总结
  1. 位与:与1与无变化,与0与变成0
  2. 位或:与1或变成1,与0或无变化
  3. 位异或:与1异或取反,与0异或无变化

11=0,01=1,10=1,00=0

| & ^在操作寄存器中的应用
  • 寄存器很常见的就是操作个别位,怎么操作呢?

一般都是读-改-写 ,也就是说我们先读出寄存器中原本的值,然后修改某些特定位之后写回寄存器

  • 特定位清零和检验

位与,就像是掩码,要清零的位就和0与,不要清零的就和1与
检验:还有一种情况,比如我们想检验寄存器中的特定的位是否置位了,我们就让这个位和1与,如果结果还是1,很明显置位了,反之就是为0

  • 特定位的置位

需要置位的就和1或,不需要置位的就和0或

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值