问题标签 [libgpiod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
60 浏览

c - 在 Linux 上通过 libgpiod 从 GPIO 读取时丢失数据位

我在嵌入式定制板上使用 Debian (8.3.0-6) 并使用 dht11 传感器。 简而言之, 我需要从 GPIO 引脚读取 40 位,每个位最多需要 70 微秒。当最大 28us 或 70us 位电平为高时,分别表示为逻辑 0 或 1。(所以我对每个位都有一个超时控制器,如果一个位需要超过 80us,我需要停止该过程。)。 在我的情况下,有时我可以正确读取所有 40 位,但有时我不能这样做,并且 libgpiod 的功能缺少该位(我的代码如下)。我试图弄清楚为什么我无法阅读并失去一点,这是什么原因。但我还没有找到一个明智的答案。所以我想知道我错过了什么?,GPIO编程的正确方法是什么?在此处输入图像描述 在此处输入图像描述gpiod_line_get_value(line);

这是我想向您展示的内容,我如何理解我缺少的东西?每当我捕捉到一点时,我都会在位的上升沿和下降沿设置和重置另一个 GPIO 引脚(这样我就可以看到哪个位丢失了)。此外,据我所知,我总是连续丢失一位上的两个边沿或两位上的一个边沿(上升和下降或下降和上升)。在第一张图片中,您可以看到我错过了哪一位,第二张是当我正确读取所有位时。

在此处输入图像描述

在此处输入图像描述

这是我的代码:

0 投票
0 回答
27 浏览

c++ - gpiod - 在 C++ 中以编程方式异步监控

我正在考虑在具有 C++ 框架的嵌入式 Linux 设备上使用 gpiod 接口。问题是我没有遇到过如何使用 gpiod 异步监视输入的示例。理想情况下,它将类似于 gpiomon 但不会阻塞。

我已经使用带有文件描述符 (fd) 的asio (特别是 asio::async_read)来完成此操作,但它看起来与 gpiod 不兼容(相关问题)。

此外,将文件描述符与 gpiod 混合看起来很混乱,因为 gpiod 行在内部分配了自己的 fd,据我所知,它没有公开。

任何指针将不胜感激。

问候,

0 投票
0 回答
17 浏览

yocto - 如何使用 libgpiod 将 gpio 设置为低电平有效

我正在用小猎犬骨黑学习yocto。现在我想用 libgpiod 切换数字 I/O 端口。我正在尝试将 0 设置为 GPIO1_28,但gpioset 0 28=0在输出仍然为 1 之后。如何正确设置0?

图像

提前致谢

问候,长