Raspberry Pi RuntimeError: Conflicting edge detection already enabled for this GPIO channel

前端 未结 2 2050
一生所求
一生所求 2021-01-07 04:10

I was following a tutorial found here: https://www.linkedin.com/pulse/prepare-your-raspberry-pi-work-aws-iot-kay-lerch

I have not even begun the internet part of it

2条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-07 04:47

    The code you have is adding an event detection callback constantly (in the while(True) loop). What you want is to add the event detection callback once and then wait for an edge.

    This page has a good example you might want to go through.

    Alternatively, you could try something like:

    import RPi.GPIO as gpio
    
    gpio.setmode(gpio.BOARD)
    gpio.setup(7, gpio.IN, pull_up_down=gpio.PUD_DOWN)
    
    def on_pushdown(channel):
        print "Button Pushed."
    
    # only add the detection call once!
    gpio.add_event_detect(7, gpio.RISING, callback=on_pushdown, bouncetime=200)
    
    while(True):
        try:
            # do any other processing, while waiting for the edge detection
            sleep(1) # sleep 1 sec
        finally:
            gpio.cleanup()
    

提交回复
热议问题