Új hozzászólás Aktív témák

  • atesss

    addikt

    válasz Aryes #13443 üzenetére

    Hát én erősen kétlem.
    A PCF8574-hez ezt a python library-h használom: [link]
    Most közben frissítettem a kódomat, és az INT pin-t most már nem pollinggal, hanem interrupttal kezelem le.
    De a problémás résznél nem történt semmi változás.
    Bemásolom akkor az összes releváns részét a kódomnak.
    Bár ez már így kicsit OFF kezd lenni, mert az Arduino miatt általában C vagy C++-t szoktatok írni a topicba.
    import RPi.GPIO as GPIO
    I2C_IO_INTERRUPT_GPIO = 26 # Board (physical) Pin Number 37

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(I2C_IO_INTERRUPT_GPIO, GPIO.IN)
    from pcf8574 import PCF8574
    I2C_PORT_NUM = 1
    I2C_IO_ADDRESS = 0x20
    i2c_io = PCF8574(I2C_PORT_NUM, I2C_IO_ADDRESS)

    def i2c_io_reader():   
        io_interrupt_flag = GPIO.input(I2C_IO_INTERRUPT_GPIO)
        print("Interrupt pin állapota - olvasás előtt: ", io_interrupt_flag)
        i2c_io_readed_array = i2c_io.port
        time.sleep(0.001)
        io_interrupt_flag = GPIO.input(I2C_IO_INTERRUPT_GPIO)
        print("Interrupt pin állapota - 0.001 sec-el olvasás után: ", io_interrupt_flag)  
        return i2c_io_readed_array

    def i2c_io_interrupt_handler(channel):
        i2c_io_readed_array = i2c_io_reader()
        i2c_io_readed_array_reversed = i2c_io_reverser(i2c_io_readed_array)
        i2c_io_state = i2c_io_namer(i2c_io_readed_array_reversed)
        i2c_io_evaluator(i2c_io_readed_array_reversed, i2c_io_state)
        i2c_io_printer(i2c_io_readed_array_reversed, i2c_io_state)

    GPIO.add_event_detect(I2C_IO_INTERRUPT_GPIO, GPIO.FALLING, callback=i2c_io_interrupt_handler)

    [ Szerkesztve ]

Új hozzászólás Aktív témák