首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有来自IIO (字符)设备输出的输出- IIO缓冲区

没有来自IIO (字符)设备输出的输出- IIO缓冲区
EN

Stack Overflow用户
提问于 2017-03-31 06:39:35
回答 1查看 1.1K关注 1票数 2

我正在为ADC ADS1243开发Linux驱动程序,并使用IIO框架。我想添加功能,以读取和存储数据从ADC到IIO缓冲区。

我在驱动程序的探测函数中添加了iio_triggered_buffer_setup()。

代码语言:javascript
复制
ret = iio_triggered_buffer_setup(indio_dev, NULL, &ads1243_trigger_handler, NULL);

我使用sysfs触发器,并成功地调用了ads1243_trigger_handler

代码语言:javascript
复制
static irqreturn_t ads1243_trigger_handler(int irq, void *p)
{
    struct iio_poll_func *pf = p;
    struct iio_dev *indio_dev = pf->indio_dev;
    struct ads1243_state *st = iio_priv(indio_dev);
    u32 val[8];
    int ret;

    val[0] = 0x01;
    val[1] = 0x02;
    val[2] = 0x03;
    val[3] = 0x04;

    ret = iio_push_to_buffers_with_timestamp(indio_dev, val,
                                       iio_get_time_ns());
    /* iio_push_to_buffers(indio_dev, val); */

    iio_trigger_notify_done(indio_dev->trig);

    return IRQ_HANDLED;

}

在处理程序中,我只使用一些被推入iio缓冲区的测试数据。

然后我设置触发器

代码语言:javascript
复制
echo 0 > iio_sysfs_trigger/add_trigger
cat /sys/bus/iio/devices/trigger0/name > /sys/bus/iio/devices/iio:device1/trigger/current_trigger

启用某些扫描元素、设置和启用iio设备的缓冲区

代码语言:javascript
复制
echo 1 > scan_elements/in_voltage0-voltage1_en
echo 1 > scan_elements/in_voltage2-voltage3_en

echo 64 > buffer/length
echo 1 > buffer/enable

触发

代码语言:javascript
复制
echo 1 > /sys/bus/iio/devices/trigger0/trigger_now

然后尝试读取设备(缓冲区)。

代码语言:javascript
复制
cat /dev/iio\:device1

但我没有输出。我错过了什么重要的事情吗?

谢谢你的回复!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-12 12:35:53

代码是正确的和有效的。我很蠢--我没有意识到cat命令不会打印不可见的密码符

例如,使用六转储

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43134050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档