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?

Code:
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