我正在研究一个驱动程序,而我却无法找到一种方法来操作我想要的数字寄存器位。
该寄存器有20位(0-19),而我只关注写入最后两位(19,18)。这些位是表示该部分的十六进制的一部分,因此为了可视化,#是我想要改变的:
Hex 5 B 0 F
[## 00 0101 1011 0000 1111]
所有其他位必须保持原样 - 上面的示例是任意的,因此屏蔽必须处理任何位组合。
我尝试使用&
和|
与0xFFFFF
以及0x00000
的任意组合创建掩码但不改变只是将要写入的十六进制的前两位。
任何能让它发挥作用的想法都会很棒;如果你能解释解决方案是如何工作的,那就更好了。