寄存器的位运算

公式

        清0用 &

        置1用  |

        &跟~搭配

指定一个位

        清0:reg &= ~(1 << n)

        置1:reg |= (1 << n)

对几个位

        将上面的1替换为一个整体,比如0xf即一次将4位清零/置1

          清0:reg &= ~(0xf << n)

          置1:reg |= (0xf << n)

例子

 对24 - 31 位 清零后对 25 位和 29 位置1

    清零:

        GPIOC->CRL &= ~(0xFF << 24);

    置1:

        GPIOC->CRL |= 1<<25;

        GPIOC->CRL |= 1<<29;

 将3210 4位赋值为 0010

        清零:GPIO->CRH &= ~(0xF);

        置1:GPIO->CRH |= 1<<1;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值