我有一个树莓派3运行在Xojo制作的程序。
我的目标是有两个流量传感器,在屏幕上显示流经每个传感器的水量。
我有一个程序,用于一个流量传感器,它使用GPIO库和一个名为'InterruptModule‘的自定义模块。我按照一个教程制作了这个程序。
此程序对两个流量传感器都有效,但一次只能使用一个。也就是说,如果我改变输入引脚并再次运行程序,它就能工作。
但是,当我尝试组合这两个输入时,它会响应无法区分这两个输入。
我已经尝试了两个GPIO模块和两个自定义的'InterruptModule‘模块,但无论哪个传感器是先定义的,它仍然会计算输入。
在这里看我的尝试。
发布于 2020-07-19 05:56:52
区分这两个中断的一种方法是创建两个单独的回调方法。
示例:
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在本例中,每个管脚中断都有自己的回调方法,使用不同的代码来处理每个管脚。
https://stackoverflow.com/questions/47672051
复制相似问题