これは私のコードです:
#include <Wire.h>
#include <I2Cdev.h>
#include <HMC5883L.h>
#include <MPU6050.h>
#include "Arduino.h"
void setup();
void loop();
MPU6050 accelgyro;
HMC5883L mag;
int16_t mx, my, mz;
void setup() {
Wire.begin();
accelgyro.initialize();
accelgyro.setI2CBypassEnabled(true);
Serial.begin(9600);
// initialize device
Serial.println("Initializing I2C devices...");
mag.initialize();
// verify connection
Serial.println("Testing device connections...");
Serial.println(mag.testConnection() ? "HMC5883L connection successful" : "HMC5883L connection failed");
}
void loop() {
mag.getHeading(&mx, &my, &mz);
Serial.print("mag:\t");
Serial.print(mx); Serial.print("\t");
Serial.print(my); Serial.print("\t");
Serial.print(mz); Serial.print("\t");
float heading = atan2(my, mx);
if(heading < 0)
heading += 2 * M_PI;
Serial.print("heading:\t");
Serial.println(heading * 180/M_PI);
}
Arduino IDE で動作します。以下は Atmel Studio 6 の警告 (2 つの初期化されていない警告と I2Cdev ライブラリによって生成された 4 つの警告) で、エラーはありません。
warning 5 **'progBuffer' may be used uninitialized in this function [-Wuninitialized]** D:/Program Files (x86)/Arduino/libraries/MPU6050/MPU6050.cpp 2971 14 HMC
warning 6 **'progBuffer' may be used uninitialized in this function [-Wuninitialized]** D:/Program Files (x86)/Arduino/libraries/MPU6050/MPU6050.cpp 3076 101 HMC
warning 4 **#warning - Timeout detection (some Wire requests block forever) [-Wcpp]** D:/Program Files (x86)/Arduino/libraries/I2Cdev/I2Cdev.cpp 67 14 HMC
warning 2 **#warning Arduino IDE v1.0.1+ with I2CDEV_BUILTIN_FASTWIRE implementation is recommended. [-Wcpp]** D:/Program Files (x86)/Arduino/libraries/I2Cdev/I2Cdev.cpp 65 14 HMC
warning 3 **#warning This I2Cdev implementation does not support: [-Wcpp]** D:/Program Files (x86)/Arduino/libraries/I2Cdev/I2Cdev.cpp 66 14 HMC
warning 1 **#warning Using current Arduino IDE with Wire library is functionally limiting. [-Wcpp]** D:/Program Files (x86)/Arduino/libraries/I2Cdev/I2Cdev.cpp 64 14 HMC
出力は次のとおりです。
collect2: ld returned 1 exit status
make: *** [HMC.elf] Error 1
誰が私を助けることができます?どうもありがとう!!