Zitat Zitat von sternst Beitrag anzeigen
Diese Berechnung
Code:
line_values[i] * (i+1) *1000
erfolgt in uint16_t. Für line_values[7] z.B. läuft das schon für alles >8 über.
Deswegen ist wa_numerator ja auch als 32bit deklariert?

Code:
 
uint32_t wa_numerator = 0;
...
wa_numerator += line_values[i] * (i+1) *1000;
Oder seh ich grad den Wald vor lauter Bäumen nicht