首页 > 解决方案 > 使用 libgpiod 如何即时切换请求线路的方向?

问题描述

我正在重写我的代码,从 sysfs 接口转发到 libgpiod。在请求一条线之后,方向是固定的,我需要弄清楚如何在运行中切换这条线的方向以在输入和输出之间切换。目前我没有看到正确的方法,进一步的请求被拒绝了。

当我以不同的方向再次执行请求-使用-释放-请求-循环时,这对我来说似乎是错误的开销。

我希望有一个函数调用,它将方向从输入更改为输出,反之亦然。

有什么,我监督了吗?

标签: c++linuxgpio

解决方案


自己回答问题:

在不释放线的情况下,方向当前不可更改。

我通过电子邮件直接从 libgpiod 的作者那里得到了这个:

...这是因为内核不允许在不释放一条线的情况下改变方向。然而,这将在 linux v5.5 中发生变化,因为引入此功能的补丁已经过审查并正在等待合并。不久之后将发布支持该功能的新版本 libgpiod。

最好的问候, Bartosz Golaszewski


推荐阅读