Forum: Mikrocontroller und Digitale Elektronik Ausgabeproblem U8G Lib.


von Axel (Gast)


Lesenswert?

Hallo zusammen,

Wie der Titel schon sagt habe ich ein Problem mit der Ausgabe bei 
verwendung der u8glib.

http://code.google.com/p/u8glib/source/browse/csrc/u8g.h?name=v1.02

Folgendes:
Es soll eine Tabelle auf dem Display (SST1306) ausgegeben werden, welche 
ich durch Knopfdruck löschen kann. Dazu werden im Normalfall alle 8 
Werte angezeigt. Wird ein Knopf gedrückt sollen die unteren 4 Werte 
gegen den Text "wirklich löschen?" ausgetauscht werden. Ein weitere 
Knopfdruck löscht diese dann.

Jetzt das Problem..
Kommentiere ich die komplette IF-ANWEISUNG aus werden die oberen 4 Werte 
richtig und leserlich angezeigt. Compiliere ich die Anweisung mit, so 
wird auf dem Display nur noch ein paar "Buchstaben fetzen" angezeigt.

Das zieht sich auch durch alle Displayanzeigen im gesamten Programm.
Leider bin ich da mit meinem nicht allzuumfassendem Wissen am Ende und 
freu mich natürlich über Hilfe.

Zur Programierung: Ich hatte erst eine for-Schleife, ersetzte diese aber 
gegen das untere, um eine Fehler möglichkeit auszuschließen.


Danke und Gruß,
Axel
1
...
2
...
3
..
4
case Tabelle :  u8g_DrawStr(&u8g, x_Mn, y_Mn, "Tabelle");
5
6
7
8
          u8g_SetFont(&u8g,SysInfo);
9
10
11
          u8g_DrawStr(&u8g, (0), 30, u8g_u16toa(Daten.Geschwindigkeit[0], 3));
12
          u8g_DrawStr(&u8g, (34), 30, u8g_u16toa(Daten.Geschwindigkeit[1], 3));
13
          u8g_DrawStr(&u8g, (34*2), 30, u8g_u16toa(Daten.Geschwindigkeit[2], 3));
14
          u8g_DrawStr(&u8g, (34*3), 30, u8g_u16toa(Daten.Geschwindigkeit[3], 3));
15
16
          if (Daten.Sub_1 == 0)
17
          {
18
          u8g_DrawStr(&u8g, (0), 55, u8g_u16toa(Daten.Geschwindigkeit[4], 3));
19
          u8g_DrawStr(&u8g, (34), 55, u8g_u16toa(Daten.Geschwindigkeit[5], 3));
20
          u8g_DrawStr(&u8g, (34*2), 55, u8g_u16toa(Daten.Geschwindigkeit[6], 3));
21
          u8g_DrawStr(&u8g, (34*3), 55, u8g_u16toa(Daten.Geschwindigkeit[7], 3));
22
          }
23
          else
24
          {
25
            u8g_DrawStr(&u8g,40,42, "Reset?");
26
            u8g_DrawStr(&u8g,0,60, "YES - Push SET");
27
          }
28
29
          break;
30
....
31
....
32
....

von u8glib (Gast)


Lesenswert?

Schwierig zu sagen, ohne das gesamte Programm zu kennen. Eine Ursache 
könnte sein, dass Daten.Sub_1 innerhalb der "Picture Loop" verändert 
wird.

Oliver

von Axel (Gast)


Lesenswert?

Hallo,

Nein, darauf habe ich penibel geachtet.Kein ändern von globalen 
Variablen innerhalb der "draw" Funktion. Deswegen habe ich ja z.b. auch 
die For-Schleife rausgeworfen.

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.