我想使用一个变量“lifeflag”,该变量由GPIO中断设置为1,并在“if pin==”1”块中清除
然后,当pin从程序中的其他位置变为=2时,应在“if pin==”2”块中执行代码“if lifeflag==1”
抛出错误“启动程序时未为lifeflag分配值”(引脚==“1”时的块不一定已执行。)
尝试在程序顶部的某个位置添加“lifeflag=0”-包括“全局”或不包括- 我仍然在赋值之前引用了错误“局部变量lifeflag”
有什么办法可以让它工作吗
import RPi.GPIO as rpigpio
rpigpio.setmode(rpigpio.BCM)
rpigpio.setup(6, rpigpio.IN, pull_up_down=rpigpio.PUD_UP)
def my_callback(channel):
lifeflag=1
print("lifeflag=",lifeflag)
rpigpio.add_event_detect(6, rpigpio.FALLING, callback=my_callback, bouncetime=300)
if pin == "1" :
print(pin)
lifeflag=0
if pin == "2" :
ret,frame=cam.read()
cv2.imshow("Capturing",frame)
print("237=",pin)
rpigpio.output(20,rpigpio.HIGH)
if lifeflag == 1:
print("247=")
rpigpio.output(20,rpigpio.LOW)
pygame.display.update()
目前没有回答
相关问题 更多 >
编程相关推荐