我想问下,划线部分为什么每次都要先变成1再变成0,为什么不能直接NFCONT&=0<<1?
答:因为是对NFCONT 指定的位进行清零操作,**同时其他的位要保持不变。**0 << 1 = 0~(1 << 1) = 0xFFFFFFFD很明显第一种会改变其他的位。
~(1<<1) 是 ~2 结果是 -3 0<<1结果还是0