Hallo, ich habe hier ein TFT und habe mir da einen Bargraph aus 10 Segmenten gebaut.. Da ein ständiges Neuzeichnen viel zu träge ist, wollte ich nur dann neuzeichnen wenn sich ein Segment ändern würde... Nur wie mache ich das?! Ich habe 10 Segmente die natürlich beim ersten mal gezeichnet werden müssen..danach aber nur noch neugezeichnet werden sollen, wenn sich ein Segment ändet.. Da 10 Segmente den Wert 140 representieren also immer wenn der Wert durch 14 teilbar ist..dachte ich mir..Derzeit geht es leider nur so.. Bei 0 baut er das Bild laufend neu auf bis 1 erreicht wurde, dann ist alles ruhig...bei 14 dann aber flackert wieder alles bis eben 15 erreicht wird..das gleiche dann natürlich wieder bei 28 etc..weil ja immer durch 14 teilbar... Wie bekomme ich es gebacken das er, wenn die bedingung erfüllt ist, das Bild nur einmal erneuert und dann erst wieder wenn die bedingung erneut erfüllt ist?
Den letzten Ausgabewert als alten Wert speichern. Nur neu ausgeben, wenn der neue ungleich der alte ist. Simple, oder?
ja, an diesem gedanken arbeite ich auch gerade, aber irgendwie funktioniert es nicht :-( If Ampere_hr_int <> Ampere_hr_int_old Then Begin Ampere_hr_int_old := Ampere_hr_int; b:= (300-((230/140) * ( 140 - Ampere_hr_Int)));
ich arbeite mit Float werden und konvertiere dann für den Bargraph in Integer..aber offenbar ist der Integer immer ungleich :-(
ah, ok es geht..nur nicht solange der Wert bei 0.xx ist?!? Nur wieso..beim Integer ist 0.xx doch 0
Mach den Vergleich alt - neu mit den Werten, die du auf die Anzeige rausgibst, nicht mit irgendwelchen Zwischenprodukten, das wird nix.
gerald schrieb: > Da ein ständiges Neuzeichnen viel zu träge ist Wie kommst Du darauf? Was für ein TFT ist denn das? Und welcher MC überhaupt? Und was soll das ganze machen? Sei doch nicht so extrem geizig mit Informationen. Ich hab den Verdacht, Du liest einen ADC ein und durch Schaltungs- oder Layoutfehler schwankt der Wert ständig, was dann eben ein Flackern verursacht. Bekämpfe die Ursache und nicht die Wirkung.
Und was sollen Float, die kann man in den meisten Faellen vermeiden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.