Zitat Zitat von HaWe Beitrag anzeigen
hi,
Mein ESP32 berechnet floats in einem Programm falsch im Vergleich zu meinem M4 und meinem M3 / Due
(Arduino IDE 1.8.8 )

nach einer langen Berechnung (1264 Schritte) durch den M4 erhalte ich das Ergebnis 32.843750,
während der ESP32 54196.625 berechnet
Ich habe das auch mit dem Due nochmals getestet und hier bekomme ich auch das Ergebnis 32.843750, genau wie beim M4.
nach einer langen Berechnung (1264 Schritte) durch den M4 erhalte ich das Ergebnis 32.843750,
während der ESP32 54196.625 berechnet

Ergebnis(e) in welcher(n) Variable(n)?

Eventuell gibt es Unterschiede. Zuerst würde ich prüfen, ob alle Datentypen identisch sind, auf den unterschiedlichen Systemen. Ein Beispiel dazu, wie das geht gibts hier im Thread: https://www.arduinoforum.de/arduino-...n-beim-ESP8266

Wenn es Unterschiede gibt, gilt es zu überlegen, welche Auswirkungen dies bei langen rekursiven Berechnungen hat. Also welche Fehlergröße sich einschleichen könnte.

Da der Unterschied aber enorm ist, wäre auch denkbar, dass es ein systemspezifisches Problem gibt, indem Code erzeugt wird, der ein anderes Ergebnis liefert.
Wenn gar nichts hilft, kann man das Programm Schritt um Schritt neu aufbauen, um irgendwann an den Punkt zu kommen, wo es nicht mehr funktioniert, also das Ergebnis auf den Systemen unterschiedlich ist. Dann hat man einen weiteren Anhaltspunkt.


MfG