2014-12-09 92 views
1

我編寫了此腳本,可以同時以不同的時間間隔打開和關閉GPIO引腳。它可以在IDLE shell中工作,但不能在從cmd訪問時使用:sudo python onoff.pyRPi上的Raspbian - Python腳本在IDLE shell中運行但不是cmd

沒有線程的類似腳本在cmd中工作正常。 (只需打開一個GPIO和關)

import RPi.GPIO as GPIO 
from time import sleep 
import thread 

GPIO.setmode(GPIO.BOARD) 

GPIO.setup(11, GPIO.OUT) 
GPIO.setup(13, GPIO.OUT) 
GPIO.setup(15, GPIO.OUT) 

def fast(): 
    while True: 
     GPIO.output(11, True) 
     sleep(.02) 
     GPIO.output(11, False) 
     sleep(.02) 

def med(): 
    while True: 
     GPIO.output(13, True) 
     sleep(.2) 
     GPIO.output(13, False) 
     sleep(.2) 

def slow(): 
    while True: 
     GPIO.output(15, True) 
     sleep(2) 
     GPIO.output(15, False) 
     sleep(2) 

thread.start_new_thread(fast,()) 
thread.start_new_thread(med,()) 
thread.start_new_thread(slow,()) 
+0

爲什麼你需要在這裏穿線? – Hackaholic 2014-12-09 13:15:25

+0

以便它們都以不同的時間間隔開啓。有另一種方法嗎? – joemillervi 2014-12-09 22:18:25

回答

0

想通了感謝Chris

「這是因爲沒有主程序/循環。您的代碼啓動這些線程,但隨後會來結束代碼並退出運行python的進程,殺死線程,所以也許在底部添加一個raw_input(「按Enter鍵退出」)。

相關問題