使用sysfs读取GPIO内部寄存器

时间:2015-11-10 21:44:41

标签: embedded-linux gpio i2c

我在嵌入式Linux中使用PCA9544 GPIO扩展器。驱动程序已按预期安装并控制GPIO。但是,我想使用sysfs通过控制寄存器读取INTn行的值。是否有与控制寄存器相关的文件?

1 个答案:

答案 0 :(得分:1)

如果导出单个GPIO,则可以按GPIO等待其中断。看看libsoc项目。它为您处理sysfs调用。查看libsoc_gpio_wait_interruptlibsoc_gpio_callback_interrupt例程。您只需要激活所需的GPIO,将它们配置为输入并指定触发边沿(请参阅下面的选项),之后您可以使用中断例程。我也是基于i2c的GPIO扩展器,它可以工作。

typedef enum {
    EDGE_ERROR = -1,
    RISING = 0,
    FALLING = 1,
    NONE = 2,
    BOTH = 3,
} gpio_edge;