【开源】SPI读取MPU9250 9轴加速度,陀螺仪,磁力计

2019-07-21 01:51发布

本帖最后由 小白来学习 于 2016-7-28 17:45 编辑

众所众知,SPI的读写速度非常诱人,对于MPU9250而言,除了加速度、陀螺仪外,新增了磁力计模块,但是磁力计模块只支持I2C的读写,

为了能够利用起SPI的优势,此时MPU 内部的i2c Master功能为此提供了方便


楼主不才,花了一些功夫,仔细研读了MPU9250 datasheet 整理出SPI读取MPU9250全套工程源码,亲测可用。
楼主觉得有需要注意之处,都配有详细注释(若有不对之处请多多包涵)

希望能提供给大家一些参考价值(工程已打包附件,内附MPU datasheet资料及i2c源码) MPU9250.rar (9.73 MB, 下载次数: 179484) 2016-7-28 17:27 上传 点击文件名下载附件

下图为楼主SPI读取9轴数据——Jlink仿真结果

CG]XJ9D7$UK%PI00)8D90R0.png
file:///C:UsersAdministratorAppDataRoamingTencentUsers312485168QQWinTempRichOleCG]XJ9D7$UK%PI00)8D90R0.png






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
50条回答
aimjoe
1楼-- · 2019-07-28 08:07
楼主你好,我看到mpu9250的数据手册中说mpu9250有两种通讯方式I2C与SPI,但是我有一个疑问。在芯片的引脚定义中没有定义哪个引脚用于区分什么时候使用I2C通讯,因为我看到一般同时支持I2C与SPI通讯的芯片,一般会有一个引脚用于区分某一时刻芯片使用哪种协议进行通讯,比如当为为高电平时使用I2C,当为低电平时使用SPI。但是MPU9250没有这个引脚,那么什么时候使用SPI通讯,什么时候使用I2C如何进行区分。那么怎么才能确保不发生混乱,及在使用I2C时确保芯片不同时使用SPI,或者在使用SPI时芯片不同时使用I2C。谢谢
Jokerwang
2楼-- · 2019-07-28 08:46
aimjoe 发表于 2016-12-18 22:48
楼主你好,我看到mpu9250的数据手册中说mpu9250有两种通讯方式I2C与SPI,但是我有一个疑问。在芯片的引脚定 ...

仔细看看PDF,上面写得很详细的

一周热门 更多>