Python RuntimeError GPIO

时间:2014-10-07 12:52:06

标签: python gpio

那里。 我想通过一个开关让脚本运行,来打开和关闭工作循环。

'开关引脚'使用此输入,已经设置了' GPIO.setup(13,GPIO,IN)',我可以打开循环。 但是当我想要在循环中获取输入时,我会得到一个runtimerror(下面的Code和Traceback)。

    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

但我做了

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

使用BCM编号代替电路板编号,然后再次声明您的引脚。