Python:RaspberryPi上的多个无限循环

Python:RaspberryPi上的多个无限循环,python,raspberry-pi,gpio,Python,Raspberry Pi,Gpio,我写了一个函数,让一个LED闪烁的可变参数。 代码如下所示: #!/usr/bin/python import RPi.GPIO as GPIO import time from threading import Thread GPIO.setmode(GPIO.BOARD) def blink(port, hz): """ Funktion zum Blinken von LEDs auf unterschiedlichen GPIO Ports und unterschiedl

我写了一个函数,让一个LED闪烁的可变参数。 代码如下所示:

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
from threading import Thread


GPIO.setmode(GPIO.BOARD)

def blink(port, hz):
    """ Funktion zum Blinken von LEDs auf unterschiedlichen GPIO Ports und unterschiedlicher Hz angabe"""
    GPIO.setup(port, GPIO.OUT)
    while True:
        GPIO.output(port, GPIO.HIGH)
        time.sleep(0.5/hz)
        GPIO.output(port, GPIO.LOW)
        time.sleep(0.5/hz)

blink(16, 5)
只要代码运行良好。 现在我想用不同的参数再次调用blink()函数:

...
blink(16, 5)
blink(15, 10)

但是第一个函数调用无限循环,第二个函数调用blink()不起作用。有什么方法可以启动第二个无限循环吗?

我知道您已经导入了
线程,所以类似的方法可能会奏效(这里有一点小意思,我没有rpi,所以无法测试):


我看到您已经导入了
线程
,因此类似的东西可能会起到作用(这里有一点小意思,我没有rpi,因此无法测试它):


修复变量名
hz
hertz
?看起来像是有人发现了多线程的用例Orry,已编辑..修复变量名
hz
hertz
?看起来像是有人发现了多线程的用例Orry,已编辑..但现在我有一个问题,我无法用Ctrl键停止它-C@Kai啊,,那是一个不同的故事。当引入线程时,键盘中断会稍微复杂一些。你需要排队等候。是一个很好的开始指南。但是现在我有一个问题,我不能用Ctrl键停止它-C@Kai啊,那是另一个故事。当引入线程时,键盘中断会稍微复杂一些。你需要排队等候。这是一个很好的开始指南。
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
from threading import Thread


GPIO.setmode(GPIO.BOARD)

def blink(port, hz):
    """ Function to let LEDs blink with different parameters"""
    GPIO.setup(port, GPIO.OUT)
    while True:
        GPIO.output(port, GPIO.HIGH)
        time.sleep(0.5/hz)
        GPIO.output(port, GPIO.LOW)
        time.sleep(0.5/hz)

Thread(target=blink, args=(16, 5)).start()
Thread(target=blink, args=(15, 10)).start()