我刚在图书馆找了一台液晶显示器。当我找到它的时候,我试着理解它是如何工作的。然后我看到
PORTD &= ~(0xF0>>(4-PD0));我从来没有见过这个(4-PD0),也不知道它会返回什么。我想知道它是如何工作的,它返回了什么,它有什么用处。
因此,感谢大家的帮助:D。
发布于 2020-09-24 22:01:15
PD0可能包含端口号,而不是直接包含掩码。例如"bit0“、"bit1”、"bit2"…等,这可以上升到"3“。
所描述的掩码覆盖了除这四个前四位之外的所有位,因此它需要从该数字的补码移位以到达给定位,因此«4- PD0»对bit0执行四次移位,对位1执行三次移位,依此类推。由于移位操作保留了符号,因此左边的所有位都保持设置。
在最后的"~“补码操作之后,您将获得一个掩码,该掩码将所有位设置为1,直到PD0位置为止。这个掩模应该可以定位PORTD。
https://stackoverflow.com/questions/64047837
复制相似问题