你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于使用spi接口配置MPU6500/MPU9250 读取地磁传感器数据的问题

[复制链接]
ppprrr 提问时间:2015-6-12 18:13 /
阅读主题, 点击返回1楼
收藏 1 评论25 发布时间:2015-6-12 18:13
25个回答
Klchongzi 回答时间:2016-1-14 12:43:29
priestyoyo 发表于 2015-12-23 20:20
看到你说搞定了。我又把板子翻出来调了一晚上。。。我确定一定是我的问题,不知道哪里理解错了。。
我首 ...

捕获.PNG 8963内部也需要操作,并注意SPI写完要延时,20M的spiy要等待400K的内部I2C操作完成,附上我的源码
Klchongzi 回答时间:2016-1-14 13:41:08
ahaiff 发表于 2016-1-14 12:43
8963内部也需要操作,并注意SPI写完要延时,20M的spiy要等待400K的内部I2C操作完成,附上我的源码 ...

捕获2.PNG
SPI透过I2C master 操作8963c的寄存器
power568 回答时间:2016-3-2 13:56:08
本帖最后由 power568 于 2016-3-2 15:06 编辑

这几天也在捣鼓这个模块,目前正在读取磁力计的数据,学习中...
要是能提供宏定义数据更好...
power568 回答时间:2016-3-2 17:46:32
ahaiff 发表于 2016-1-14 13:41
SPI透过I2C master 操作8963c的寄存器

大侠,今天试了一下,读不出数据,读取I2C的Slv4_done状态时,一直不会置位,可否指点一下?
枫叶20101112 回答时间:2016-3-28 21:48:33
各位成功用spi读出9轴数据的分享一下经验啦,spi无法读磁力计数据啊,折腾啊,我的配置如下,就是读不了磁力计:
    /* 读 MPU9250 ID 判断是否在线 */
    if (MPU9250_ID == MPU9250_Read_Reg())
    {
      MPU9250_Write_Reg(USER_CTRL,    0x30); /* 使能 MPU9250 SPI 工作模式和 I2C 主机 I/F 模式 */
      MPU9250_Write_Reg(PWR_MGMT_1,   0x80); /* 电源管理,复位 MPU9250 */
      MPU9250_Write_Reg(SMPLRT_DIV,   0x07,); /* 采样率 1000/(1+7)=125HZ */
      MPU9250_Write_Reg(CONFIG,       0x06); /* 低通滤波器 0x06 5Hz */
      MPU9250_Write_Reg(GYRO_CONFIG,  0x18,); /* 陀螺仪测量范围 0x18 正负 2000 度 */
      MPU9250_Write_Reg(ACCEL_CONFIG, 0x18); /* 加速度计测量范围 0x18 正负 16g */

      /* MPU9250-AK8963 磁力计初始化 */
      if (!MPU9250_AK8963_Init()) return false;                       
    }

其中MPU9250_AK8963_Init()是参考楼主的,只能读加速度和陀螺仪
yanchao7788 回答时间:2016-5-24 15:35:14
2015-05-24Plan


Content
  • 1.



Summary
  • 1
  • 2
  • 3

Prolem
  • 1
  • 2
  • 3
骑你去看猪 回答时间:2016-5-29 18:47:18
ahaiff 发表于 2015-12-19 14:24
也调了好几天,终于搞定了,用内部I2C MASTER 转发,slv4单字节读写AK88963寄存器,用SLV0接收数据到EXT_SE ...

看到你的两张图片,也按照你的样式重新写下,可依旧读地磁没有。可不可以把你的测试程序放出来打包瞧瞧,感谢
骑你去看猪 回答时间:2016-5-29 19:27:36
http://www.eeboard.com/bbs/thread-46005-1-1.html
这个写的很好,可以参考下,工程什么的都有
骑你去看猪 回答时间:2016-5-29 22:30:11
骑你去看猪 发表于 2016-5-29 19:27
http://www.eeboard.com/bbs/thread-46005-1-1.html
这个写的很好,可以参考下,工程什么的都有 ...

这个是用的IIC读。如果用SPI读就必须像楼上仁兄说的那样,把内部的IIC当个搬运工,要数据也必须等IIC搬完才有效,也就是AKM8963只支持IIC。。。可就是这样也一直没调成。。。赶脚这麻烦还不如用MPU6500和HMC5933的组合了,对性能有要求的直接ST的LSM6/9D走起
ppprrr 回答时间:2016-6-1 09:36:08
骑你去看猪 发表于 2016-5-29 22:30
这个是用的IIC读。如果用SPI读就必须像楼上仁兄说的那样,把内部的IIC当个搬运工,要数据也必须等IIC搬完 ...

后来一版我确实用了mpu6500+hmc5983了,请问仁兄LSM6/9D的效果怎样?
我爱肥肥 回答时间:2018-6-18 17:49:58
楼主,最后怎么解决的?我也在头疼中阿
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版