2014-10-07 4 views
0

있습니다. 워크 루프를 켜거나 끌 때 스위치를 사용하여 스크립트를 실행 시키도록하십시오.Python RuntimeError GPIO

'스위치 핀'은 핀 13입니다.이 입력으로 'GPIO.setup (13, GPIO, IN)'으로 설정된 설정이 끝나면 루프를 켤 수 있습니다. 하지만 루프 안에 입력을 얻으려고하면 runtimerror (코드 및 추적 코드)가 표시됩니다.

while True: 
    d = datalogger(devmode) 
    d.set_sheet() 


    GPIO.setmode(GPIO.BOARD) 
    GPIO.setup(23, GPIO.IN) 
    GPIO.setup(3, GPIO.IN) 
    GPIO.setup(13, GPIO.IN) 
    GPIO.setup(22, GPIO.IN) 
    GPIO.setup(7, GPIO.OUT) 
    GPIO.output(7, GPIO.LOW) 
    print 'Ready !' 
    break 

while 1: 
    if GPIO.input(13) == False: 
    d.runner(True) 
    break 
    else: 
     pass 


while d.running: 

    GPIO.setup(13, GPIO.IN) 
    GPIO.add_event_detect(23, GPIO.FALLING, callback=d.hall_sens) 

    d.time_lauf() 
    d.abrieb_a() 
    d.read_temp() 
    d.clear_temp_log() 
    d.write_sheet() 
    d.print_data() 
    d.loop_break(looptime) 

    s = GPIO.input(13) 

    if s == 1: 
    d.runner(False) 
    else: 
    pass 

    GPIO.remove_event_detect(23) 

Traceback (most recent call last): 
file "file.py", line 260, in <module> 
s = GPIO.input(13) 
RuntimeError: You must setup() the GPIO channel first 

하지만 난 도움을

답변

0

사용 BCM 번호 대신 보드 번호를

감사를 한 후 다시 핀을 선언합니다.