我正在 raspberry pi 3 上编写 python 代码。我正在输入通道 21 上注册一个事件,以检查湿度检测。我收到此错误运行时错误:无法添加边缘检测。我的代码是:import RPi.GPIO as GPIOimport sys,osimport timeimport datetimechannel = 21led_output = 18GPIO.setmode(GPIO.BCM)GPIO.setwarnings(False)GPIO.setup(channel, GPIO.IN)GPIO.setup(led_output, GPIO.OUT)def callback(channel): filehandle = open("output.txt", "w") or die ("Could not write out") if GPIO.input(channel) == 1: print ("Water Detected!") filehandle.write("1") GPIO.output(led_output, GPIO.LOW) else: print ("Water Not Detected!") filehandle.write("0") GPIO.output(led_output, GPIO.HIGH) filehandle.close() GPIO.add_event_detect(channel, GPIO.BOTH, bouncetime=300) GPIO.add_event_callback(channel, callback) print(GPIO.input(channel)) while True: time.sleep(5)
2 回答
holdtom
TA贡献1805条经验 获得超10个赞
这不是很干净的解决方案,但您也可以GPIO.cleanup()
在脚本的开头调用,以防您的进程之前被终止并且GPIO.cleanup()
未被调用。
添加回答
举报
0/150
提交
取消