Hallo,
du solltest dir angewöhnen, Code Beispiele in die entsprechenden Code tags (# symbol im Visu Editor) zu setzen. Das macht das Ganze besser lesbar.
Hier mal dein Beispiel, das sich fehlerfrei unter Arduino 1.0 übersetzen läßt.
Code:
#include <inttypes.h>
#include <SoftwareSerial.h>
#include <Wire.h>
byte data[6];
int gier; //Daten vom AD-Wandler
int roll;
int nick;
void setup()
{
Serial.begin(9600);
Wire.begin(); //WiiMo ein
Wire.beginTransmission(0x53); //WiiMo starten und Adresse 0x53 deaktivieren
Wire.write(0xFE); //0x04 zur Addresse 0xFE senden zur Aktivierung
Wire.write(0x04);
Wire.endTransmission(); //WiiMo jetzt Addresse 0x52 aktiv
delay(30);
}
void loop()
{
//roll, nick und gier einlesen
Wire.beginTransmission(0x52); //Null senden
Wire.write((byte)0x00);
Wire.endTransmission();
Wire.requestFrom(0x52,6); //6 Bytes lesen
for (int i=0;i<6;i++)
{
data[i]=Wire.read();
}
//zusammensetzen
gier = ((data[3] / 4)<< + data[0]);
roll = ((data[4] / 4)<< + data[1]);
nick = ((data[5] / 4)<< + data[2]);
//ausgeben
Serial.print(roll);
Serial.print(" ");
Serial.print(nick);
Serial.print(" ");
Serial.print(gier);
Serial.println();
delay(10);
}
Der Fehler lag in der Zeile
weis der Kuckuck warum der Compiler gerade hier über die 0x00 stolpert, weil er meint das sei ein integer Wert.
Lesezeichen