登录注册
论坛
五彩晶圆(初级)
991
0
邀请:@maychang @chunyang @damiaa @huo_hu 参与回复
if ( ( M0P_RTC->CR0 & 0x7faf ) !=0x4188 ) 中为什么不写成
if ( ( M0P_RTC->CR0 & 0x4188 ) !=0x4188 )
扫一扫,分享给好友
版主
6105
4
0x7faf ==》0111 1111 1010 1111
| | | | | | | | | | | | | 要判断的位
0x4188=》 0100 0001 1000 1000
| | | | 要判断的位
要判断的位不同 也就是M0P_RTC->CR0 有这些位需要判断
上面要判断的位多些,所有位和上面的结果有关系
后面的少些。 多出来的不要判断的位与结果没关系。
damiaa 发表于 2024-11-15 11:43 0x7faf ==》0111 1111 1010 1111 ...
谢谢。请问:他是不是不只要判断数值为1的是否为1,还想判断数值为0的是否当前数值为0呢,要不 4188中的0位,他&1 是什么意图呢?
&0x01 只判断最低1位 &0x2判断次低位 &0x03判断低2位。。。
一粒金砂(高级)
227
2
与门可以这样解释,对于关心的指标,你必须达到才能通过,对于不关心的指标,不管你水平如何,都不允许通过。
波光潋滟.~
五彩晶圆(高级)
7641
18
0x7faf 可能是某些宏段组合成的,只是显示的时候被直接替换了,表示这个寄存器的某些段位,用宏来做比较具备扩展性。等号右边的 0x4188 也可能是某些位的宏组合。
某个意义上两个表达式没什么实质区别。
默认摸鱼,再摸鱼。2022、9、28
发表回复 回帖后跳转到最后一页
论坛测评队员
EEWorld Datasheet 技术支持
查看 »