Android 如何使用GpioCallback寄存器;假;连续两次?

Android 如何使用GpioCallback寄存器;假;连续两次?,android,kotlin,gpio,android-things,Android,Kotlin,Gpio,Android Things,我有一个非常简单的设置android things设置,其中一个GPIO(输出)产生非常短的(10u)脉冲,我试图通过另一个GPIO(输入)读取该脉冲 然而,我的日志让我感到奇怪:我怎么能连续得到两个“错误”读数?如果我有一个电灯开关,我不能连续关闭两次。。。我需要在两者之间打开它,对吗?GpioCallback能否删除事件?我的时间太短了吗?电压之间会有一个不算“边缘”的软斜坡吗 导致 06-02 06:33:37.052 I/NetGpioListener: NET GPIO LISTENE

我有一个非常简单的设置android things设置,其中一个GPIO(输出)产生非常短的(10u)脉冲,我试图通过另一个GPIO(输入)读取该脉冲

然而,我的日志让我感到奇怪:我怎么能连续得到两个“错误”读数?如果我有一个电灯开关,我不能连续关闭两次。。。我需要在两者之间打开它,对吗?GpioCallback能否删除事件?我的时间太短了吗?电压之间会有一个不算“边缘”的软斜坡吗

导致

06-02 06:33:37.052 I/NetGpioListener: NET GPIO LISTENER: 118730013 true
06-02 06:33:37.091 I/NetGpioListener: NET GPIO LISTENER: 118769152 false
06-02 06:33:37.094 I/NetGpioListener: NET GPIO LISTENER: 118772102 false

是的,这是相当常见的噪音输入信号,如按钮,继电器触点和“摆动电线”。触点闭合期间发生的信号反弹可能发生得非常迅速,因此并非每个边缘触发事件都被输入寄存器捕获


所有GPIO系统(不仅仅是Android系统)都是如此,这也是如此普遍的一个原因。中的去盎司代码实际上是为了处理此类情况而编写的,以确保它们不会生成错误事件。

我想重现您的问题。您使用的是什么gpio输出?我正在监听引脚20,我从VCC中取出一根导线,轻轻地将其放入输入引脚端口,并多次“摆动”它。非常科学,我知道。:)
06-02 06:33:37.052 I/NetGpioListener: NET GPIO LISTENER: 118730013 true
06-02 06:33:37.091 I/NetGpioListener: NET GPIO LISTENER: 118769152 false
06-02 06:33:37.094 I/NetGpioListener: NET GPIO LISTENER: 118772102 false