您尚未登录。

楼主 # 2023-04-11 10:03:08

LIVPO
会员
注册时间: 2022-10-09
已发帖子: 22
积分: 302

D1s上实现MPU6050数据读取

本文转载自:https://bbs.elecfans.com/jishu_2348036_1_1.html

前言
上一篇文章使用RT-Smart的IIC驱动OLED屏幕,进行基本的字符串显示,在使用过程中对RT-Smart有了一定熟悉,准备使用SPI驱动ST7789,但SPI接口没有引出,本次使用手上已有的传感器MPU6050进行使用。

过程
本次直接开始添加离线包

在/D1S/userapps/rt-thread/bsp/allwinner/d1s下输入scons –menuconfig进行内核配置,添加MPU605使用所需的配置。

wKgZomQeZFuAdaP3AA.png

使用IIC0进行陀螺仪数据的读取,在RT-Thread Compents 下选择Device Drivers

wKgZomQpB36AKtliAAB1qQs8ZWA2.png

使能I2C device drivers

wKgaomQpB3-ANeGfAAOctasnCXg0.png

在RT-Thread online packages下选择MPU6050离线包

wKgaomQpB3-AeFmuAAMcAFXRLlc7.png

在General Drivers Configuration下配置IIC

wKgZomQpB4CAL7WqAACD0V3c37U0.png

保存退出,更新一下,发现报错,不能更新MPU6050的离线包

wKgaomQpB4CAAIzjAABlLilpEnc4.png

解决方法,打开rt-studio随意新建一个工程,下发MPU6050的芯片包

wKgZomQpB4GAEpQ_AAFEkUtpDwQ0.png

查看离线包的json文件,如下所示:

wKgZomQpB4GARmDtAAEjz8WRzO40.png

打开自己的工程,发现使能的MPU6050后.json文件中没有进行相应的配置,将rt-studio生成的.json文件生成的内容复制到自己的工程。

wKgaomQpB4KASyxbAAI8aGFdzjE0.png

在次更新,下载成功

wKgZomQpB4KAYSnNAAA_Tro3h1s1.png

将mpu使用的I2C设备修改为I2C0

wKgaomQpB4OAXpWUAADId5OzbR88.png

保存,使用scons编译

wKgZomQeZF-AKcwbAAB7rPOi8Kc1.png

将sd.bin拖到xfel同级目录下

wKgZomQeZF-AVRgSAAD8NbdLH3A1.png

替换掉原来的sd.bin

wKgaomQeZGCACXBhAAEdKHDg5NM6.png

三、固件下载
先将SD卡格式化

wKgZomQeZGGAFErHAAA8rI5KS2M5.png

然后插入开发板中,先安全FEL按键,然后按一下复位按键,使开发板进入FEL模式。

wKgaomQpB4WAamfeAAEzshPsYTg0.png

按一下复位按键,查看串口输出

wKgZomQpB4aAPcfqAADG9vnlhVo7.png

输入help命令

wKgaomQpB4aAHo9sAABOrEoaJcM2.png

输入mpu5xxx_test

wKgaomQpB4aAHo9sAABOrEoaJcM2.png

将陀螺仪换个位置读取,数据读取成功

wKgZomQpB4aAUTihAABvA_OUkZE2.png

五、总结
本次完成了MPU6050的数据读取,成功的使用的该外设,当然是底层驱动,还为进行应用层的开发,在驱动层已经有了大致的了解,驱动使用时容易出现MenuConfig配置了但rtconfig.h不更新,每次都要手动的添加,当然在使用的过程中也遇到了很多错误,然后重新下载源码进行开发。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn