我在嵌入式Linux中使用PCA9544 GPIO扩展器。驱动程序已按预期安装并控制GPIO。但是,我想使用sysfs通过控制寄存器读取INTn行的值。是否有与控制寄存器相关的文件?
答案 0 :(得分:1)
如果导出单个GPIO,则可以按GPIO等待其中断。看看libsoc项目。它为您处理sysfs调用。查看libsoc_gpio_wait_interrupt和libsoc_gpio_callback_interrupt例程。您只需要激活所需的GPIO,将它们配置为输入并指定触发边沿(请参阅下面的选项),之后您可以使用中断例程。我也是基于i2c的GPIO扩展器,它可以工作。
typedef enum {
EDGE_ERROR = -1,
RISING = 0,
FALLING = 1,
NONE = 2,
BOTH = 3,
} gpio_edge;