多线程不工作

时间:2015-03-01 07:19:41

标签: python multithreading gpio

@KSFT

目前我无法破解stackoverflow上的格式化或使一个简单的python脚本工作...

这里有什么不对吗?

程序提示输入以确定暂停值,但不会导致LED打开。

import threading
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(7, GPIO.OUT)
frequency = 0.05
dwell = 0.01


def get_input():
    while True:
        dwell=raw_input("Brightness: ")

input_thread=threading.Thread(target=get_input())
input_thread.start()

while True:
    time.sleep(frequency)
        GPIO.output(7, 1)
        time.sleep(dwell)
        GPIO.output(7, 0)

1 个答案:

答案 0 :(得分:3)

input_thread=threading.Thread(target=get_input())   

错了!

input_thread=threading.Thread(target=get_input) 

是对的!

threading

class threading.Thread(group=None, target=None, name=None, args=(), kwargs={})

如果你想给arg get_input,你需要给它抛出args和kwargs。

示例:

 1 #!/usr/bin/python
 2 #current's number of threads
 3 import threading
 4 import time
 5 
 6 def worker():
 7     print "test"
 8     time.sleep(1)
 9 
 10 for i in xrange(5):
 11     t = threading.Thread(target=worker)
 12     t.start()
 13 
 14 print "current has %d threads" % (threading.activeCount() - 1)

目标=工人()。
target=worker()

目标=工人。
target=worker