我有一个覆盆子pi 3运行在Xojo制作的程序。
我的目标是有两个流量传感器,显示流经屏幕上每个传感器的水量。
我有一个适用于一个流量传感器的程序,它使用GPIO库和一个名为“InterruptModule”的自定义模块。我按照教程制作了这个程序。
此程序可成功用于两个流量传感器,但一次只能使用一个。即如果我更改输入引脚并再次运行程序,则可以正常工作。
但是,当我尝试将两者结合起来时,它的响应无法区分两个输入。
我尝试过两个GPIO模块和两个自定义“InterruptModule”模块,但它仍然会根据首先定义的传感器对输入进行计数。
在这里看看我的尝试。
答案 0 :(得分:0)
区分两个中断的一种方法是创建两个单独的回调方法。
示例:
Const kPin = 14
If GPIO.WiringPiISR(kPin, GPIO.EDGE_RISING, Addressof InteruptModule.ButtonDownInterupt1) = -1 then
MsgBox "Could not register for Interupt1 on kPin14"
End If
Const kPin = 18
If GPIO.WiringPiISR(kPin, GPIO.EDGE_RISING, Addressof InteruptModule.ButtonDownInterupt2) = -1 then
MsgBox "Could not register for Interupt2 on kPin18"
End If
在此示例中,每个引脚中断都将具有自己的回调方法,该回调方法具有与每个引脚一起使用的不同代码。