Gast
#100292
GCC (Aus der aktuellen WINAVR Version) gibt mit bei der Zeile
largetemp = (capturedvalue*25)/(the_resistor*18432);
die oben genannte Warnung aus. largetemp und capturedvalue sind beide
vom Typ uint32_t, the_resistor ist 10. Mir ist klar, dass das
capturevalue*25 theoretisch die 32 Bit "sprengen" könnte, jedoch wird
capturevalue in der Praxis nicht so groß. Ich hab versucht dem Compiler
das mit einem
if (capturedvalue < 88473600) { //Maximaler Wert nach 24 Stunden
largetemp = (capturedvalue*25)/(the_resistor*18432);
beizubringen. Aber das funktioniert nicht.
Wie bekomme ich die Warnung weg oder suche ich das Problem an der
falschen Stelle?