1

我正在 Raspberry Pi Pico 上的 Circuitpython 中实现一个键矩阵。

我已经到了可以扫描和阅读的地步。现在我需要添加去抖动。我想为此使用 adafruit_debouncer。

首先,我犯了一个错误,即简单地将列输入引脚去抖动,结果很有趣,因为去抖动器试图在扫描行时理解这些值......

现在我想为每个键创建一个去抖动器,我认为我应该能够使用 adafruit_debouncer,方法是不给它一个 DigitalIO 实例来处理它,而是一个 lambda,它查看我的二维键状态数组中的特定单元格。

给定两个适当大小的键状态和去抖动器的二维数组,我这样创建它们:

for rowindex in range(len(rowpins)):
    for colindex in range(len(colpins)):
        debouncers[rowindex][colindex] = adafruit_debouncer.Debouncer(lambda: keystates[rowindex][colindex])

在进行每次更新的扫描后,keystates[][]根据键是否关闭输入 Trues 和 Falses,然后我迭代debouncers[][],调用update()每个然后查询它们的value.

不幸的是,似乎没有去抖器能够看到True数组中的值。至少没有人报告True自己。

我的错误是什么?

4

0 回答 0