使用C屏蔽驱动程序位

时间:2015-06-03 19:27:21

标签: c binary hex driver masking

我正在研究一个驱动程序,而我却无法找到一种方法来操作我想要的数字寄存器位。

该寄存器有20位(0-19),而我只关注写入最后两位(19,18)。这些位是表示该部分的十六进制的一部分,因此为了可视化,#是我想要改变的:

Hex 5 B 0 F

[## 00 0101 1011 0000 1111]

所有其他位必须保持原样 - 上面的示例是任意的,因此屏蔽必须处理任何位组合。

我尝试使用&|0xFFFFF以及0x00000的任意组合创建掩码但不改变只是将要写入的十六进制的前两位。

任何能让它发挥作用的想法都会很棒;如果你能解释解决方案是如何工作的,那就更好了。

0 个答案:

没有答案