Forum: Compiler & IDEs Lcd_Anzeige fnkt nicht


von Gabi (Gast)


Lesenswert?

Hallo Leute,

bin am Programieren von einem LCD Display "KS108", so weit
funktioniert schon alles! Wollte mal jetzt was ausprobieren aber geht
leider nicht! Also ich hab eine Funktion gemacht die mir eine
gerechnete Zahl asgeben soll und hier ist die fkt:
...
 a = Gewicht / 1000;
    b = Gewicht % 1000;
  GWert[0] = a;
  GWert[1] = '.';
  //lcd_text_pixel(10, 20, a);

  a = b / 100;
  b = b % 100;
        GWert[2] = a;
  //lcd_text_pixel(16, 20, a);

  a = b / 10;
  b = b % 10;
  GWert[3] = a;
  GWert[4] = b;
  GWert[5] = 'g';
  GWert[6] = '\0';
  //lcd_text_pixel(22, 20, a);

  lcd_text_pixel(50, 30, GWert);
.....
wenn ich das Programm laufen lasse, kriege ich gar nichts auf dem LCD
ausser den Punkt und den Character 'g' aber die variable a die
normaler weise bei dieser Rechnung dann 2 ist also a=2 zum ersten
schritt.....wird nicht ausgegeben!

ich hab eine selber gemachte ASCII_Tabelle , da mein LCD kein eigenen
Zeichensatz hat!

Es wäre super, wenn einer von euch eine Idee hätte.....!
Gruss

von Stefan (Gast)


Lesenswert?

Wie ist der Prototyp von lcd_text_pixel()?

Wenn

void lcd_text_pixel(int foo, int bar, char zeichen);

dann probiere mal das:

lcd_text_pixel(16, 20, a+'0');

Damit bildest du den Dezimalwert von a (Zahl 2) in den ASCII-Bereich
(Zeichen "2") ab.

Wenn - wahrscheinlicher, weil dein g. Beispiel klappt -

void lcd_text_pixel(int foo, int bar, char * zeichenkette);

dann probiere mal das:

  b = 42;
  a = b / 10;
  b = b % 10;
  GWert[0] = a+'0';
  GWert[1] = '.';
  GWert[2] = b+'0';
  GWert[3] = 'g';
  GWert[4] = '\0';
  lcd_text_pixel(50, 30, GWert);

von Gabi (Gast)


Lesenswert?

Hi,

danke es hat ja geklappt!

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.