我正在尝试同时更改一个以上引脚的状态(输出/输入)(使用位掩码)。
一个引脚的代码是:
#define INP_GPIO(g) *(gpio+((g)/10)) &= ~(7<<(((g)%10)*3))
#define OUT_GPIO(g) *(gpio+((g)/10)) |= (1<<(((g)%10)*3))
我真的不明白这段代码的作用。
比方说,gpio := 0x20200000
所以对于 Pin 1 它应该是
10 0000 0010 0000 0000 0000 0000 0000 + 0 = (10 0000 0010 0000 0000 0000 0000 0000 + 0) & ~11 1000 = 0
我认为这不可能是正确的。我究竟做错了什么?