[应用相关] 直接赋值么

[复制链接]
1459|18
 楼主| xia00 发表于 2021-10-7 12:04 | 显示全部楼层 |阅读模式
*W=*W&0x0404;
W代表某寄存器。
寄存器不是可以直接赋值的吗?
hfdy01 发表于 2021-10-7 12:06 | 显示全部楼层
不是很明白,猜想大概是想保留某些位吧
CallReceiver 发表于 2021-10-7 12:09 | 显示全部楼层
按位与,按位或操作不是和寄存器原来的值有关吗?
boy1990 发表于 2021-10-7 12:35 | 显示全部楼层
直接赋值对位操作起来就比较麻烦,不如这样可以封装,更直观明了。
sourceInsight 发表于 2021-10-7 12:38 | 显示全部楼层
运算之后寄存器的值不是不确定了吗,怎么能算初始化呢?
bbapple 发表于 2021-10-7 12:41 | 显示全部楼层
有些寄存器,写0不影响,写1是清0。。
handleMessage 发表于 2021-10-7 12:44 | 显示全部楼层
该在初始化的时候不止做了这些,你看看他的头文件是不是对他赋了值
zhouhuanの 发表于 2021-10-7 12:47 | 显示全部楼层
若其他地方改了寄存器(典型是volatile)的值,此处又改会有冲突,所以清零用与,置位用或。。
feiqi1 发表于 2021-10-7 12:49 | 显示全部楼层
应该是位清零操作
不过楼主的例子不典型,常见的是这种
*W=*W&0xFFFD;#bit1位清零
androidbus 发表于 2021-10-7 12:52 | 显示全部楼层
可以直接对寄存器赋值。。
litengg 发表于 2021-10-7 12:54 | 显示全部楼层
这个就是定义的地址吧。
qiangweii 发表于 2021-10-7 12:57 | 显示全部楼层
楼主查看一下W的宏定义看看
shashaa 发表于 2021-10-7 12:58 | 显示全部楼层
W应该是寄存器的地址。是不是定义的地址有问题呢
观海 发表于 2021-11-1 12:01 | 显示全部楼层
有些寄存器可以
晓伍 发表于 2021-11-1 12:09 | 显示全部楼层
不是所有的寄存器都可以这样操作的
八层楼 发表于 2021-11-1 12:42 | 显示全部楼层
需要确定是不是可以这样做
tpgf 发表于 2021-11-1 12:43 | 显示全部楼层
楼主  有的寄存器是不可以的
guanjiaer 发表于 2021-11-1 12:46 | 显示全部楼层
看看是不是可以写入的
heimaojingzhang 发表于 2021-11-1 12:47 | 显示全部楼层
跟寄存器种类有关系
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

1867

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部