外部中断报错:ValueError: ExtInt Vector 3 is already in used
-
#其他初始化代码... #中断定义: 来自32单片机的回调函数 def callback(line): global read_flag read_flag = 1 extint = pyb.ExtInt('P9', pyb.ExtInt.IRQ_FALLING, pyb.Pin.PULL_UP, callback) #主程序 while(True): clock.tick() if(read_flag ==1): #接收串口数据并置各种标志位... elif(read_flag ==0 and mode ==1): #进行口罩检测.... elif(read_flag == 0 and mode == 2): #进行人脸检测.... elif(read_flag == 0 and mode == 3): #进行机器学习... print("read_flag", read_flag) clock.fps()
我的程序框架如上,需要打开UART串行端口接受32单片机的数据来进行模式选择,但是每当我第一次运行代码时会报错:
可是之后再运行就不会报错,而且整个程序运行也很顺畅。请问这个原因是什么呢?
我能否直接用try...excpet...语句块处理这个错误呢?这样会让这个中断定义生效吗?try: # 来自32单片机的回调函数 def callback(line): global read_flag read_flag = 1 extint = pyb.ExtInt('P9', pyb.ExtInt.IRQ_FALLING, pyb.Pin.PULL_UP, callback) except ValueError: pass
-
你需要提供全部代码,这个我没法运行。