Hallo
Ich habe gestern und heute versucht meinen Due ein wenig zu entlasten und habe einige Sachen auf einen Atmega 2560 ausgelagert.
So weit auch alles kein Problem.
Aber die daly-bms-uart.h Bibliothek macht mir grade sorgen.
Auf einen Due und esp8266 (32 bit CPU) Läuft alles wie gewohnt.
Auf dem Mega 2560 (8Bit CPU) hingegen FAST alles.
Ok Genauer es läuft alles Bis auf das auslesen der Restkapazität dieser wert scheint zu gros Zusein.
Getestet Das Problem bleibt auf dem Due gehts auf dem mega 2560 nicht.
Ich bekomme auf dem mega nur große minuswerte ausgegeben. die zwischen 4 und 5 stellen haben.
Rauskommen müsste aber irgendwas um 100 000 was bei due auch passiert.
Dabei ist es egal ob ich den wert Speicher oder den wert ohne speichern gleich seriell ausgeben lasse.
Ich würde - wenn ich überhaupt in Bibliotheken rumändern täte - bestenfalls versuchen, die "Breite" in Bits auf dem Mega an die im Due anzupassen.
In dem Fall die int (native Breite in Bit der Architektur: Due 32, Mega 16) durch int32_t ersetzen. Kostet aber Speicher.
Schlechte Idee.
float hat 6 bis 7 signifikante stellen.
unsigned long hat fast 10.
Wenn Du es mir nicht glaubst versuch mal zu 1 000 000 wiederholt 1 dazuzuzählen.