打印
[ARM Linux入门与实践]

关于给IO赋值的问题

[复制链接]
1734|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
katy0094|  楼主 | 2009-9-23 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IO, EDA, gp
我想给rGPEDAT的第11和13位置1,看到很多地方都是这么写的:
rGPEDAT = rGPEDAT & (~((1<<13)|(1<<11))) | (1<<13) | (1<<11) ;
我对这种写法的理解是“给第11和13位置1,然后取反再与上rGPEDAT,这样就给第11和13位清零了,最后再将第11和13位置1”
我想这是何必呢?为何不直接rGPEDAT=(1<<13) | (1<<11) ;
所以不理解为什么要这么写?麻烦各位解释一下!

相关帖子

沙发
阿南| | 2009-9-26 11:59 | 只看该作者
可读性的考虑,如果想清0就将1修改成0即可

使用特权

评论回复
板凳
ma1986| | 2009-11-9 16:18 | 只看该作者
在这里,他这样写是没必要的。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

0

粉丝