一、置0
例如:将temp寄存器的第6位 置0: temp &= ~(1<<6)
将temp的第6位 置0的 C指令:
temp &= ~(1<<6) // 左移6位然后按位取反,然后与temp按位"&"运算。如下图:
命令分解:
(1). MCU先在内部寄存器中开辟一个1byte的临时空间(为了方便表述假定1个字节,实际上stm32是32位的),先做 ~(1<<6) 如图:
(2). 然后将取反后的临时值跟temp做按位 “&” 运算, 如图:
二、置1
例如:将temp寄存器第6位 置1, temp != (1<<6)
(1).
-------- 未完待续 ---------