291|2

38

帖子

0

TA的资源

一粒金砂(中级)

读《RT-Thread设备驱动开发指南》---第三篇 [复制链接]

本帖最后由 xiaolinen 于 2023-9-17 16:41 编辑

读《RT-Thread设备驱动开发指南》---  SENSOR设备驱动开发

第一部分:了解SENSOR设备

        SENSOR设备就是我们常见的种种传感器,它的作用不言而喻,就是感知外界的各种参数,为系统运行提供数据。SENSOR设备也是I/O设备中的一种,适用I/O设备框架。本次使用到的是MPU6050传感器,其可以用来测试设备的加速度和角速度。

第二部分:SENSOR设备涉及到的函数接口

        1,查找设备

 

rt_device_t rt_device_find(const char* name);

        2,打开设备

 

rt_err_t rt_device_open(rt_device_t dev, rt_uint16_t oflags);

        3,读设备

 

rt_size_t rt_device_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size);

        4,控制设备

 

rt_err_t rt_device_control(rt_device_t dev, rt_uint8_t cmd, void* arg);

        5,接收回调函数

 

rt_err_t rt_device_set_rx_indicate(rt_device_t dev, rt_err_t (*rx_ind)(rt_device_t dev,rt_size_t size));

        6,关设备

 

rt_err_t rt_device_close(rt_device_t dev);

第三部分:实验测试用的软件包以及现象

        1,软件包:mpu6xxx,该软件包依赖于RT-Thread4.00+,serson组件,IIC/SPI驱动;

        2,配置选择如下图:

QQ图片20230917160926.jpg

                                    Enable MPU6xxx acce: 配置开启加速度计功能

                                    Enable MPU6xxx gyro: 配置开启陀螺仪功能

                                    Enable MPU6xxx mag: 配置开启磁力计功能

        3,主要函数:

                3.1初始化:

struct mpu6xxx_device *mpu6xxx_init(const char *dev_name, rt_uint8_t param)

                3.2获取加速度数据:

rt_err_t mpu6xxx_get_accel(struct mpu6xxx_device *dev, struct mpu6xxx_3axes *accel)

                3.3获取陀螺仪数据:

rt_err_t mpu6xxx_get_gyro(struct mpu6xxx_device *dev, struct mpu6xxx_3axes *gyro)

        4,实验现象打印:

accel.x = 11458, accel.y = 10464, accel.z = 4222
gyro.x = 79 gyro.y = 22, gyro.z = 13

accel.x = 11308, accel.y = 10432, accel.z = 4178
gyro.x = 79 gyro.y = 23, gyro.z = 13

accel.x = 11436, accel.y = 10520, accel.z = 4238
gyro.x = 80 gyro.y = 23, gyro.z = 15

accel.x = 11458, accel.y = 10502, accel.z = 4140
gyro.x = 79 gyro.y = 24, gyro.z = 14

accel.x = 11410, accel.y = 10398, accel.z = 4232
gyro.x = 78 gyro.y = 22, gyro.z = 14

accel.x = 11480, accel.y = 10492, accel.z = 4235
gyro.x = 79 gyro.y = 23, gyro.z = 15

 

 

最新回复

谢谢分享,期待后续!   详情 回复 发表于 2023-9-19 17:15

回复

5202

帖子

0

TA的资源

五彩晶圆(中级)

期待楼主更精彩的加速度和角速度的测试


回复

6411

帖子

18

TA的资源

五彩晶圆(中级)

谢谢分享,期待后续!

个人签名

默认摸鱼,再摸鱼。2022、9、28


回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表