一、CC2530简介

寄存器快速操作

其实可以直接赋值,相对好理解,但是熟练之后还是这个方法比较快。

一、只将寄存器中的某些位置1而不影响其它位

使用或操作 “|” 。

任何值与0相或,保持原值。

任何值与1相或,结果为1.

例如:寄存器TMP的当前值为0X62,要将第2、3、6位置1。C语言表达式:TMP|=0X4C

0X62:0110 0010

0X4C:0100 1100

TMP= 0110 1110

那么这个0X4C的值如何快速得到的?

先假设寄存器所有位的值都是0,如TMP=0000 0000。再将要操作的位置全部改为1,即0100 1100,也就快速得到了这个值 :0X4C。

二、将寄存器中某些位清0而不影响其它位

使用与操作“&+非

任何值与1相与,保持原值;

任何值与0相与,结果为0。

例如:寄存器TMP的当前值为0X62,要将2、3、6位清0,用C语言表达:TMP&=~0X4C

0X62:0110 0010

0X4C:0

  • 11
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值