首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在linux下访问IIO设备驱动程序

如何在linux下访问IIO设备驱动程序
EN

Stack Overflow用户
提问于 2018-06-22 17:33:12
回答 2查看 915关注 1票数 0

我是Linux设备驱动程序的新手。

我有一个IIO驱动程序(用于OPT3001环境光传感器),它在I2C总线上运行,它已经在内核(版本3.18)中成功编译。修改设备树以匹配驱动程序中的compatible字段。

问题是我如何访问这个驱动程序来获取用户空间中的一些数据?

驱动程序在一个结构中注册了一些读写回调函数。我应该在我的C文件中直接调用它们吗?

EN

回答 2

Stack Overflow用户

发布于 2018-06-22 17:40:28

您可以使用由提供的用户空间API:

代码语言:javascript
复制
#include <linux/i2c-dev.h>

使用它,您可以打开de bus /dev/i2c-X (X=0,1,2,...),使用ioctl调用设置设备地址,并使用读写操作对总线进行读写。

此外,您还可以安装" I2C - tools“包(apt-get install i2c-tools)来安装i2cset、i2cget和i2cdetect等用户空间工具,这对于测试I2C总线和连接到它的设备非常有用。

票数 0
EN

Stack Overflow用户

发布于 2018-06-22 17:43:47

你有不同的可能性:

  • 您的驱动程序提供可在C文件中打开的/dev节点。
  • 您的驱动程序通过sysfs提供信息。

对于/dev节点,您可以访问文件操作(打开、读取、写入、ioctl)。您只需打开文件1次,每次read()调用都会从传感器读取该值。

对于sysfs,您应该在/sys/class/...中找到要打开/读取的文件。

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

https://stackoverflow.com/questions/50984967

复制
相关文章

相似问题

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