Forum: Mikrocontroller und Digitale Elektronik Display Bargraph Wiederholung begrenzen


von gerald (Gast)


Lesenswert?

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?

von Tom (Gast)


Lesenswert?


von spontan (Gast)


Lesenswert?

Den letzten Ausgabewert als alten Wert speichern.
Nur neu ausgeben, wenn der neue ungleich der alte ist.

Simple, oder?

von gerald (Gast)


Lesenswert?

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)));

von gerald (Gast)


Lesenswert?

ich arbeite mit Float werden und konvertiere dann für den Bargraph in 
Integer..aber offenbar ist der Integer immer ungleich :-(

von spontan (Gast)


Lesenswert?

Was stellt b dar?

von gerald (Gast)


Lesenswert?

ah, ok es geht..nur nicht solange der Wert bei 0.xx ist?!?
Nur wieso..beim Integer ist 0.xx doch 0

von spontan (Gast)


Lesenswert?

Mach den Vergleich alt - neu mit den Werten, die du auf die Anzeige 
rausgibst, nicht mit irgendwelchen Zwischenprodukten, das wird nix.

von Peter D. (peda)


Lesenswert?

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.

von Pandur S. (jetztnicht)


Lesenswert?

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
Noch kein Account? Hier anmelden.