新手上路
- 积分
- 20
- 金钱
- 20
- 注册时间
- 2019-12-8
- 在线时间
- 4 小时
|
4金钱
驱动模式配置: indio_dev->modes = INDIO_ALL_BUFFER_MODES;
indio_dev->currentmode = INDIO_BUFFER_SOFTWARE;
用户空间操作:
echo 123 > /sys/bus/iio/devices/iio_sysfs_trigger/add_trigger
#这时会在device目录下创建 trigger0 目录
#绑定触发到对应的设备
echo sysfstrig123 > /sys/bus/iio/devices/iio:device0/trigger/current_trigger
#使能通道0采样
echo 1 > /sys/bus/iio/devices/iio:device0/scan_elements/in_voltage0_en
#设置缓冲长度
echo 100 > /sys/bus/iio/devices/iio:device0/buffer/length
#设置缓存使能
echo 1 > /sys/bus/iio/devices/iio:device0/buffer/enable
#开始一次触发采样
echo 1 > /sys/bus/iio/devices/trigger0/trigger_now
结果:没有产生触发采样,cat /dev/iio:device0 无输出
使用单次捕获可以得到采样数据,即cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
那位大神能给讲解一下linux iio子系统怎么做adc的连续采样,然后通知用户空间读取?非常感谢!
|
|