驱动程序开发:基于ICM20608六轴传感器 --- 使用Regmap API 的 SPI 读取数据 之 IIO驱动
目录
- 一、IIO 子系统简介
- 二、IIO子系统使用的一些相关的结构体、函数等
- 1、iio_dev 结构体
- ①modes:是选择iio驱动设备支持的工作模式,模式分别有如下:
- ②dev:其是一个设备结构体。
- ②channels:为 IIO 设备通道规格结构表。
- 三、IIO驱动框架搭建
- 1、SPI基础框架搭建
- 2、基于SPI基础驱动框架上搭建IIO基础驱动框架
- ①测试IIO基础驱动框架程序
- 3、配置IIO设备通道规格结构表
- ①了解通道文件命名方式
- ①编写IIO驱动程序的配置IIO设备通道规格结构表
- 4、添加Regmap API
- 5、完善xxx_read_raw函数,真正实现通道文件可读取传感器数据
- 四、完整的驱动程序
- 1、驱动程序
- 2、测试现象
- 3、icm20608APP程序及测试
一、IIO 子系统简介
IIO 全称是 Industrial I/O,翻译过来就是工业 I/O,大家不要看到“工业”两个字就觉得 IIO是只用于工业领域的。大家一般在搜索 IIO 子系统的时候,会发现大多数讲的都是 ADC,这是因为 IIO 就是为 ADC 类传感器准备的,当然了 DAC 也是可以的。大家常用的陀螺仪、加速度计、电压/电流测量芯片、光照传感器、压力传感器等内部都是有个 ADC,内部 ADC 将原始的模拟数据转换为数字量,然后通过其他的通信接口,比如 IIC、 SPI 等传输给 SOC。
因此,当你使用的传感器本质是 ADC 或 DAC 器件的时候,可以优先考虑使用 IIO 驱动框架。
二、IIO子系统使用的一些相关的结构体、函数等
1、iio_dev 结构体
IIO 子系统使用结构体 iio_dev 来描述一个具体 IIO 设备,此设备结构体定义在include/linux/iio/iio.h 文件中,结构体内容如下(有省略):
struct iio_dev {int modes;struct device dev;struct iio_chan_spec const *channels;int num_channels;const char *name;const struct iio_info *info;/* 注意:这个结构体只列出了该实验驱动使用到的结构体属性,其他省略了,有兴趣的大家可以查看内核源码,有注释的 */
};
①modes:是选择iio驱动设备支持的工作模式,模式分别有如下:
博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 基于MPU605(六轴传感器)的I ... 之前发了LCD调试笔记,大家很感兴趣,所以这次再来一篇:六轴传感器ICM20608驱动移植笔记,大家还需要什么移植笔记?可以留言.我们尽量满足. 1.1 移植思路 先找到驱动:也许内核里已经有,也许需 ... 在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ... COCOFLY教程 --疯壳·无人机·系列 SPI(六轴传感器数据获取) 图1 一.ICM20602 简介 六轴传感器在当今智能穿戴和定位导航产品 ... 目录 1.什么是MPU6050? MPU6050介绍: MPU6050寄存器介绍: 2.例程 1.平台 2.目的 3.讲解 1.查阅原理图 2.流程分析 3.代码讲解 3.结果 1.什么是MPU605 ... 文章目录 摘要 一.简介 1.I2C原理 2.MPU6050介绍 3.MPU6050寄存器介绍 4.DMP使用 二.硬件电路设计 三.软件设计 1.CubeMX配置 2.CubeIDE代码 3.结果显 ... 刚使用了STM32测试了LSM6DS3该六轴传感器,顺便也测试了其6D方向检测功能,效果是能满足对6个面方向的识别需求. 该六轴传感器支持I2C/SPI通信.在读取该六轴传感器寄存器时,采用I2C通信 ... COCOFLY教程 --疯壳·无人机·系列 SPI(六轴传感器数据获取) 图1 一.ICM20602 简介 六轴传感器在当今智能穿戴和定位导航产品 ... ICM20602六轴传感器 ICM20602 通过IIC协议与MCU通信 ICM20602 初始化配置 ICM20602 相关配置函数 ICM20602 内部寄存器 注意事项 (一)ICM20602 ...
至于sysfs接口可以简单理解为生成了带有用于用户访问设备文件,也就是说实现sysfs接口,可通过脚本命令“echo”、“cat”访问驱动。详细介绍可以点击该链接,这位博主写的挺详细的
驱动程序开发:基于ICM20608六轴传感器 --- 使用Regmap API 的 SPI 读取数据 之 IIO驱动相关推荐
最新文章
热门文章