Hallo,
ich habe folgendes Problem.
Ich arbeite mit einem Touchscreen. In der Endlosschleife wird dieser
abgefragt und dann diverse Variablen ins Display geschrieben. Diese
Variablen werden also nur einmal ins Display geschrieben, nämliche wenn
der Screen an der zugehörigen Stell "getoucht" wird. So weit so gut.
Einige der Variaben sind dynamisch, zeitlich veränderlich. Eine Änderung
der Variablen soll also direkt auf das Display auszugeben sein ohne dass
der Touchscreen an der besagten Stelle wieder getoucht werden muss.
Ich könnte natürlich wenn der Touchscreen an der besagten Stelle
getoucht wird eine Hilfsvariable setzen:
Minomalbeispiel:
1 | unsigned char helfer = 0;
|
2 | int main(void)
|
3 | {
|
4 | while(1)
|
5 | {
|
6 | ...
|
7 | if(10 < x < 20)
|
8 | {
|
9 | helfer = 1;
|
10 | schreibevariableinsDisplay;
|
11 | }
|
12 | ...
|
13 | if(helfer == 1)
|
14 | {
|
15 | loescheDisplayanVariablenstelle;
|
16 | schreibevariableinsDisplay;
|
17 | }
|
18 | }
|
19 |
|
20 |
|
21 | }
|
So ist es natürlich sehr unschön, da der Variablenbereich immer gelöscht
wird (egal ob sich die Variable verändert oder nicht)und das Display
flackert.
Die Veränderung der Variable wird von "Außen beeinflusst",
beispielsweise ein Lichtsensor.
Ich würde also am liebsten nur die Variable neu ins Display scheiben,
wenn Sie sich wirklich verändert. Wie vergleicht man zwei sich zeitlich
veränderliche Variablen oder wie geht man so ein Problem an. Vermutlich
nichts wildes und ich brauche nur einen kleinen Denkanstoss.
Danke und Gruss
Timm