sde 发表于 2015-2-8 16:04:55

为什么网上下的MPU6050 dmp不能用?

本帖最后由 sde 于 2015-2-9 15:09 编辑

一上来就报这么多错,有可能是版本不对或者是库没下全,求大神指导。

Arduino:1.5.8 (Windows 7), 板:"Arduino Uno"

In file included from C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:42:0,
               from dmp.ino:50:
C:\Program Files\Arduino\libraries\MPU6050/MPU6050.h:792:5: error: 'prog_uchar' does not name a type
   prog_uchar dmpMemory PROGMEM = {
   ^
In file included from C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/WString.h:29:0,
               from C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Print.h:26,
               from C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26,
               from C:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire/Wire.h:26,
               from dmp.ino:44:
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:315:58: error: conflicting declaration 'const unsigned char dmpUpdates '
const unsigned char dmpUpdates PROGMEM = {
                                                          ^
In file included from C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:42:0,
               from dmp.ino:50:
C:\Program Files\Arduino\libraries\MPU6050/MPU6050.h:931:13: error: 'dmpUpdates' has a previous declaration as 'uint8_t dmpUpdates '
   uint8_t dmpUpdates = {
             ^
In file included from dmp.ino:50:0:
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:325:32: error: no 'uint8_t MPU6050::dmpInitialize()' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpInitialize() {
                              ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:550:34: error: no 'bool MPU6050::dmpPacketAvailable()' member function declared in class 'MPU6050'
bool MPU6050::dmpPacketAvailable() {
                                  ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:577:66: error: no 'uint8_t MPU6050::dmpGetAccel(int32_t*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetAccel(int32_t *data, const uint8_t* packet) {
                                                                  ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:585:66: error: no 'uint8_t MPU6050::dmpGetAccel(int16_t*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetAccel(int16_t *data, const uint8_t* packet) {
                                                                  ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:593:67: error: no 'uint8_t MPU6050::dmpGetAccel(VectorInt16*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetAccel(VectorInt16 *v, const uint8_t* packet) {
                                                                   ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:601:71: error: no 'uint8_t MPU6050::dmpGetQuaternion(int32_t*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetQuaternion(int32_t *data, const uint8_t* packet) {
                                                                     ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:610:71: error: no 'uint8_t MPU6050::dmpGetQuaternion(int16_t*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetQuaternion(int16_t *data, const uint8_t* packet) {
                                                                     ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:619:71: error: no 'uint8_t MPU6050::dmpGetQuaternion(Quaternion*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetQuaternion(Quaternion *q, const uint8_t* packet) {
                                                                     ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:634:65: error: no 'uint8_t MPU6050::dmpGetGyro(int32_t*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetGyro(int32_t *data, const uint8_t* packet) {
                                                               ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:642:65: error: no 'uint8_t MPU6050::dmpGetGyro(int16_t*, const uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetGyro(int16_t *data, const uint8_t* packet) {
                                                               ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:652:91: error: no 'uint8_t MPU6050::dmpGetLinearAccel(VectorInt16*, VectorInt16*, VectorFloat*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetLinearAccel(VectorInt16 *v, VectorInt16 *vRaw, VectorFloat *gravity) {
                                                                                           ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:660:92: error: no 'uint8_t MPU6050::dmpGetLinearAccelInWorld(VectorInt16*, VectorInt16*, Quaternion*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetLinearAccelInWorld(VectorInt16 *v, VectorInt16 *vReal, Quaternion *q) {
                                                                                          ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:672:61: error: no 'uint8_t MPU6050::dmpGetGravity(VectorFloat*, Quaternion*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetGravity(VectorFloat *v, Quaternion *q) {
                                                             ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:683:56: error: no 'uint8_t MPU6050::dmpGetEuler(float*, Quaternion*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetEuler(float *data, Quaternion *q) {
                                                      ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:689:85: error: no 'uint8_t MPU6050::dmpGetYawPitchRoll(float*, Quaternion*, VectorFloat*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpGetYawPitchRoll(float *data, Quaternion *q, VectorFloat *gravity) {
                                                                                     ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:702:67: error: no 'uint8_t MPU6050::dmpProcessFIFOPacket(const unsigned char*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpProcessFIFOPacket(const unsigned char *dmpData) {
                                                                   ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:712:84: error: no 'uint8_t MPU6050::dmpReadAndProcessFIFOPacket(uint8_t, uint8_t*)' member function declared in class 'MPU6050'
uint8_t MPU6050::dmpReadAndProcessFIFOPacket(uint8_t numPackets, uint8_t *processed) {
                                                                                    ^
C:\Program Files\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:737:40: error: no 'uint16_t MPU6050::dmpGetFIFOPacketSize()' member function declared in class 'MPU6050'
uint16_t MPU6050::dmpGetFIFOPacketSize() {
                                        ^
dmp.ino: In function 'void setup()':
dmp.ino:188:21: error: 'class MPU6050' has no member named 'dmpInitialize'
dmp.ino:199:28: error: 'class MPU6050' has no member named 'getIntStatus'
dmp.ino:206:26: error: 'class MPU6050' has no member named 'dmpGetFIFOPacketSize'
dmp.ino: In function 'void loop()':
dmp.ino:247:24: error: 'class MPU6050' has no member named 'getIntStatus'
dmp.ino:264:13: error: 'class MPU6050' has no member named 'getFIFOBytes'
编译有误。

报告将会包含更多的信息
"Show verbose output during compilation"
在 文件>首选项 中启用

164335413 发表于 2015-2-9 09:25:18

我这里的库测试可用,你的问题解决了吗?

sde 发表于 2015-2-9 15:08:49

解决了,谢谢,出于好奇,想问一下这是因为版本的原因么?我在github上下的,应该不会有什么问题的。

霖【囧】哥 发表于 2015-2-10 19:28:29

sde 发表于 2015-2-9 15:08 static/image/common/back.gif
解决了,谢谢,出于好奇,想问一下这是因为版本的原因么?我在github上下的,应该不会有什么问题的。

你是怎么解决的?我的问题跟你一样

sde 发表于 2015-2-12 17:58:24

用164335413 的库就行了,我也不知道为什么,反正我把我的库换成他的就能用了

sde 发表于 2015-2-12 18:04:58

164335413 发表于 2015-2-9 09:25 static/image/common/back.gif
我这里的库测试可用,你的问题解决了吗?

顺便问一下,您的库的示例程序输出的三个值分别是什么意思啊?

164335413 发表于 2015-3-4 13:25:23

sde 发表于 2015-2-12 18:04 static/image/common/back.gif
顺便问一下,您的库的示例程序输出的三个值分别是什么意思啊?

俯仰角、翻滚角、方向角
页: [1]
查看完整版本: 为什么网上下的MPU6050 dmp不能用?