工具与软件:
我正在使用 Adafruit_TCA8418库。
我的配置如下:
Adafruit_TCA8418 keypad; void setup() { keypad.matrix(5, 10); keypad.flush(); }
并将我的代码打印到串行的任何按键或释放事件中。
void loop() { if (keypad.available() > 0) { int k = keypad.getEvent(); if (k & 0x80) Serial.print("PRESS\tR: "); else Serial.print("RELEASE\tR: "); k &= 0x7F; k--; Serial.print(k / 10); Serial.print("\tC: "); Serial.print(k % 10); Serial.println(); } }
除两种情况外、所有按键按压操作均已正确记录-位于矩阵位置的按钮:row0 col9和 row1 col9。 错误输出如下所示:
PRESS R: 0 C: 9 PRESS R: 9 C: 6 RELEASE R: 0 C: 9 RELEASE R: 9 C: 6 PRESS R: 1 C: 9 PRESS R: 9 C: 7 RELEASE R: 1 C: 9 RELEASE R: 9 C: 7
除了启用矩阵模式、似乎还有一些其他设置。 也启用了 mayby GPI 模式? 我已经检查了所有寄存器、设置似乎没有问题。
我非常感谢您提供任何提示。 提前感谢!