野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7946|回复: 2

mpu6050使用dmp eMPL_outputs和Hal_outputs的区别

[复制链接]
发表于 2016-9-4 11:25:06 | 显示全部楼层 |阅读模式
在main()中的read_from_mpl()函数中我们可以通过以下函数获取quat, accel, eular, gyro等数据int inv_get_sensor_type_quat(long *data, int8_t *accuracy, inv_time_t *timestamp)
int inv_get_sensor_type_accel(long *data, int8_t *accuracy, inv_time_t *timestamp)
int inv_get_sensor_type_gyro(long *data, int8_t *accuracy, inv_time_t *timestamp)
......
这些函数(不仅仅这么多)都定义在eMPL_outputs.c文件中。通过调用这些函数,我成功的获得了相应的数据。
在Hal_outputs中也有类似的函数:
int inv_get_sensor_type_linear_acceleration(float *values, int8_t *accuracy, inv_time_t * timestamp)

int inv_get_sensor_type_gravity(float *values, int8_t *accuracy, inv_time_t * timestamp)

......
一开始我试图用同样的方式调用这些函数,但是这些函数的返回值为零,也就是不能获得数据。
随后我发现在main()函数中使用了一个函数inv_enable_eMPL_outputs(),因而我类似的在main()函数中调用了
Hal_outputs.c中的inv_enable_hal_outputs()函数。结果不但数据没出来,程序还报错:“”Could not start the MPL.“。
这是怎么回事呢?




回复

使用道具 举报

发表于 2016-9-5 09:01:34 | 显示全部楼层
没有了解过,官方的示例只是给出inv_get_sensor_type_gravity之类的函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-5 11:02:04 | 显示全部楼层
flyleaf 发表于 2016-9-5 09:01
没有了解过,官方的示例只是给出inv_get_sensor_type_gravity之类的函数

哦,那我在看看,谢谢啦
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-20 12:07 , Processed in 0.034780 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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