搜索
bottom↓
回复: 11

移植6050 DMP库好痛苦啊...

[复制链接]

出0入0汤圆

发表于 2013-9-2 23:25:54 | 显示全部楼层 |阅读模式
用的TIVA C处理器,正在移植DMP库...读dmp_read_fifo(gyro_data, accel_data, quat, &sensor_timestamp, &sensors, &more);时候就是读不出数啊都是0....诶...

    if(mpu_init())while(1);

    if(mpu_set_sensors(INV_XYZ_GYRO | INV_XYZ_ACCEL))while(1);
    if(mpu_configure_fifo(INV_XYZ_GYRO | INV_XYZ_ACCEL))while(1);
    if(mpu_set_sample_rate(100))while(1);
    if(dmp_load_motion_driver_firmware())while(1);
    if(dmp_set_orientation(inv_orientation_matrix_to_scalar(gyro_orientation)))while(1);
    if(dmp_enable_feature(DMP_FEATURE_6X_LP_QUAT | DMP_FEATURE_TAP |DMP_FEATURE_ANDROID_ORIENT | DMP_FEATURE_SEND_RAW_ACCEL
                       | DMP_FEATURE_SEND_CAL_GYRO | DMP_FEATURE_GYRO_CAL))while(1);

    if(dmp_set_fifo_rate(100))while(1);                       
    run_self_test();
    if(mpu_set_dmp_state(1))while(1);
  
  
  while(1)
  {
    status=dmp_read_fifo(gyro_data, accel_data, quat, &sensor_timestamp, &sensors, &more);

出0入0汤圆

发表于 2013-9-3 09:19:34 | 显示全部楼层
对比看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-9-3 10:04:55 | 显示全部楼层
我也看了一半。 看的我恶心。  那个程序风格。。。。。

出0入0汤圆

 楼主| 发表于 2013-9-3 14:53:23 | 显示全部楼层
yujunwei 发表于 2013-9-3 09:19
对比看看

多谢~~我看看~~

出0入0汤圆

发表于 2013-9-3 16:43:40 | 显示全部楼层
waterghost 发表于 2013-9-3 10:04
我也看了一半。 看的我恶心。  那个程序风格。。。。。

我也看的恶心,不知道是哪位大仙的著作

出0入0汤圆

发表于 2013-9-3 16:54:45 | 显示全部楼层
本帖最后由 NJ8888 于 2013-9-3 16:56 编辑

我一个一个函数拷,按配置顺序吧所有用到的函数都集中到一个文件,处理下,总共快3000行,数据出来了.不是自由循环读的,我是按中断标志有效才读,我看的中断脚没10ms出一个脉冲

出0入0汤圆

发表于 2014-3-16 15:34:04 | 显示全部楼层
我也遇到同样的问题了·······

出0入0汤圆

发表于 2014-3-30 00:20:31 | 显示全部楼层
zkl1097 发表于 2014-3-16 15:34
我也遇到同样的问题了·······

我也遇到同样的问题了,已经痛苦一周了,发现是fifo_count总是0,导致return -1造成的,但是不知道如何让fifo_count变得在32和512之间。

如果兄台已经调试通了,还望拉小弟一把,感激涕零!!

出0入0汤圆

发表于 2014-3-31 09:25:34 来自手机 | 显示全部楼层
好麻烦的,我之前看过一些成功的,然后用keil查看程序结构,越看越深,但后来就读不懂了,于是又回到表层,

出0入0汤圆

发表于 2014-4-13 14:56:42 | 显示全部楼层
楼主,您好,我最近在移植DMP程序,我用的是STM32F103。
一直卡在dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors,&more);         下的
   if (i2c_read(st.hw->addr, st.reg->fifo_count_h, 2, tmp))
        return -1;
    fifo_count = (tmp[0] << 8) | tmp[1];

这个地方,fifo_count 一直是0,
我前面的一切配置打印出来都是OK的。
就是这里执行不下去了。
前面那个dmp_load_motion_driver_firmware complete ......有验证I2C驱动的读写是否正确吧?这个通过了。应该不是I2C的问题吧?
或者是我的驱动针对2字节读写有缺陷?硬件I2C

麻烦答复下好么?多谢了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-4-22 23:12:00 | 显示全部楼层
hero_kai 发表于 2014-3-30 00:20
我也遇到同样的问题了,已经痛苦一周了,发现是fifo_count总是0,导致return -1造成的,但是不知道如何让 ...

最近木有搞了·····你弄好了?

出0入0汤圆

发表于 2015-8-4 15:27:51 | 显示全部楼层
asdcxzvfbg 发表于 2014-4-13 14:56
楼主,您好,我最近在移植DMP程序,我用的是STM32F103。
一直卡在dmp_read_fifo(gyro, accel, quat, &senso ...

读取fifo必须存数完成,且不能溢出,在32-512之间吧,有一个办法,每次读fifo前先进行复位,再等20ms,这时数也满了,不溢出
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 16:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表