为什么网上下的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"
在 文件>首选项 中启用
我这里的库测试可用,你的问题解决了吗? 解决了,谢谢,出于好奇,想问一下这是因为版本的原因么?我在github上下的,应该不会有什么问题的。 sde 发表于 2015-2-9 15:08 static/image/common/back.gif
解决了,谢谢,出于好奇,想问一下这是因为版本的原因么?我在github上下的,应该不会有什么问题的。
你是怎么解决的?我的问题跟你一样 用164335413 的库就行了,我也不知道为什么,反正我把我的库换成他的就能用了 164335413 发表于 2015-2-9 09:25 static/image/common/back.gif
我这里的库测试可用,你的问题解决了吗?
顺便问一下,您的库的示例程序输出的三个值分别是什么意思啊? sde 发表于 2015-2-12 18:04 static/image/common/back.gif
顺便问一下,您的库的示例程序输出的三个值分别是什么意思啊?
俯仰角、翻滚角、方向角
页:
[1]