我正在裸机级别对 micro:bit(在 Ada 中)进行编程,也就是说,我正在直接寻址 nrf51 寄存器。
我对按钮 A 没有问题,GPIO 引脚 17:它被配置为
dir => input,
input => connect,
pull => pullup,
drive => s0s1,
sense => disabled
按下按钮时,IN 寄存器位 17 为low
,释放时为high
。
但是,对于按钮 B,GPIO 引脚 26,配置完全相同,IN 寄存器位 26 始终为low
。
出厂图像识别按钮 A 和 B。
按钮 B 正确连接到边缘连接器引脚 11(使用 DVM 检查边缘连接器的电压电平)。
不过,我想知道为什么我必须指定pullup
,因为板上已经有一个 10k 的上拉电阻(并且 DVM 显示了正确的逻辑电平)。
我发现了一个较早的示意图,其中 GPIO 引脚 26 与磁力计共享,这可能是相关的吗?