这是我的类打开,关闭,和闪烁指示灯在树莓派 我想在一段时间内停止线程闪烁。。。 但线程不会在后台运行。。。在
class LED:
_GPIOPORT=None flagstop=0 flag=threading.Event() def __init__(self,GPIONUM): self._GPIOPORT=GPIONUM GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(self._GPIOPORT, GPIO.OUT) self.flag.set() def TurnOn(self): self.flag.clear() print 'Turn On ...' GPIO.output(self._GPIOPORT,True) def TurnOff(self): self.flag.clear() print 'Turn Off ...' GPIO.output(self._GPIOPORT,False) def Blink(self,delay,e): print 'Thread Blink Create ...' t1=threading.Thread(self.BlinkThread(delay,e)) t1.start() print 'Thread Started' def BlinkThread(self,delaytime,event): print 'BlinkTrehad Start ....' while not event: GPIO.output(self._GPIOPORT,False) sleep(delaytime) GPIO.output(self._GPIOPORT,True) sleep(delaytime)
这是我使用这个类的模块:
import LED
from time import sleep
import threading
if __name__ == '__main__':
e=threading.Event()
e.set()
ledblue=LED.LED(11)
ledblue.TurnOn()
sleep(1)
ledblue.Blink(1,e)
ledblue.TurnOn()
从来没有“线程启动”打印在控制台和循环运行在线
您在线程构造函数中调用BlinkThread(),而不是仅仅传递函数引用和参数并让线程启动函数。更改为:
相关问题 更多 >
编程相关推荐