danst
18.02.2008, 21:23
Hallo,
programmiere im Moment gerade einen Arduino und komme langsam in Speichernöte. Daher meine Frage: Wieso kostet der folgende Code so viele Bytes? 178 um genau zu sein.
Und ich habe Wire.h (die I2C Library) sowieso schon eingebunden... Ist da irgendeine Optimierung beim Compiler nicht eingeschalten?
Außerdem benutze ich die Funktion noch nicht einmal... müsste gcc das nicht von sich aus weglassen?
byte read_Motor_Amp() {
// erster Motor
Wire.beginTransmission(MOTOR_address);
Wire.send(11); // Batterieregister
Wire.endTransmission();
// Jetzt Daten bekommen
Wire.requestFrom(MOTOR_address, 1);
byte rdata = 0xff;
if (Wire.available()) rdata = Wire.receive();
// Zweiter Motor
Wire.beginTransmission(MOTOR_address);
Wire.send(12); // Batterieregister
Wire.endTransmission();
// Jetzt Daten bekommen
Wire.requestFrom(MOTOR_address, 1);
byte rdata2 = 0xff;
if (Wire.available()) rdata2 = Wire.receive();
if (rdata > rdata2) return rdata;
else return rdata2;
}
Wäre schön, wenn mir jemand helfen könnte!
Viele Grüße,
Daniel
programmiere im Moment gerade einen Arduino und komme langsam in Speichernöte. Daher meine Frage: Wieso kostet der folgende Code so viele Bytes? 178 um genau zu sein.
Und ich habe Wire.h (die I2C Library) sowieso schon eingebunden... Ist da irgendeine Optimierung beim Compiler nicht eingeschalten?
Außerdem benutze ich die Funktion noch nicht einmal... müsste gcc das nicht von sich aus weglassen?
byte read_Motor_Amp() {
// erster Motor
Wire.beginTransmission(MOTOR_address);
Wire.send(11); // Batterieregister
Wire.endTransmission();
// Jetzt Daten bekommen
Wire.requestFrom(MOTOR_address, 1);
byte rdata = 0xff;
if (Wire.available()) rdata = Wire.receive();
// Zweiter Motor
Wire.beginTransmission(MOTOR_address);
Wire.send(12); // Batterieregister
Wire.endTransmission();
// Jetzt Daten bekommen
Wire.requestFrom(MOTOR_address, 1);
byte rdata2 = 0xff;
if (Wire.available()) rdata2 = Wire.receive();
if (rdata > rdata2) return rdata;
else return rdata2;
}
Wäre schön, wenn mir jemand helfen könnte!
Viele Grüße,
Daniel