linux - 如何在 linux 中访问 IIO 设备驱动程序
问题描述
我是 Linux 设备驱动程序的菜鸟。
我有一个 IIO 驱动程序(用于 OPT3001 环境光传感器),通过 I2C 总线运行,已在内核中成功编译(版本 3.18)。修改设备树以匹配驱动程序中存在的兼容字段。
问题是如何访问此驱动程序以获取用户空间中的一些数据?
驱动程序在结构中注册了一些用于读取和写入的回调。我应该直接在我的 C 文件中调用它们吗?
解决方案
您可以使用以下提供的用户空间 API:
#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 总线和连接到它的设备非常有用。
推荐阅读
- android - 如何向 ESP8266 发送数据?
- excel - 仅在某些单元格更改时计算
- shell - 在 Debian/Ubuntu 上执行 apt install -y iptables persistent 时防止提示
- python - PVLIB 设定直流功率比
- php - 如何在codeigniter的foreach循环中设置验证规则
- mysql - 有没有办法知道mysql中查询了多少张表?
- sql - 更新失败,order by
- javascript - 如何为 $pull/$set 运算符删除 MongoDB 中的保存日志错误?
- swift - SWIFT - 防止同时调用相同的函数
- node.js - 如何用 imagemin 压缩图像?