CC18, LCD, XLCDPutRamString und variablen

Gast #2568623
Lesenswert?

Hallo zusammen,

habe folgende Probleme mit CC18 und Variablen, für die ich keine Lösung 
finde:


1) XLCDPutRamString
Ich erstelle eine Variable mit
char data1[]="LCDLCDLCDLCDLCDL";
und zeige Sie auf meinem LCD an mit
XLCDPutRamString(data1);
==> Dies funktioniert auch.
Nun will ich den String direkt eingeben mit
XLCDPutRamString("Test");
==> Das Display zeigt nun in dieser Zeile nur schrott an (irgendwelche 
chinesischen oder sonnstigen Zeichen ...)
Wie kann ich direkt diese Zeichen eingeben, damit das funktioniert ?

2) Zahl im Display anzeigen von einer for-Schleife
Ich habe eine for-Schleife und möchte die I-Variable anzeigen:
unsigned char i;
...
for (i=0;i<16;i++){
  XLCDClear();
  while(XLCDIsBusy()); //WAIT TILL LCD IS READY
  XLCDPutRamString("I ist: "); //<< hier soll I ist .. angezeigt werden
    DelayH(); // Verzögerung => funktioniert!
  }

3) Variablen zusammenführen
char one[]="EINS"
char two[]="ZWEI"
char ott[]=EINS und ZWEI // in VB währe das hier jetz = one & two


Ich hoffe mir kann jemand in den Anfängen von CC18 helfen, damit ich 
hier irgendwie weiterkomme :D

LG Stefan
Gast #2568708
Lesenswert?

Hallo,

und Danke für die Antwort.

Problem konnte ich nun doch noch (anders) lösen :D

Die Funktion sprintf ist dabei sehr Hilfreich:

*** Variablen definieren
char buffer[20];
int ZAHL = 1;
char TEXT[]="Hallo";
char IIS[]="i = ";

****** 1 ******
Einfügen in eine neue (zwischendurch umdefinierbare) variable

sprintf(buffer, "HUHU"); // Schreibt in buffer "HUHU"
XLCDPutRamString(buffer); // Anzeigen


****** 2 ******
sprintf(buffer, "%d", i) // in Buffer Wert von i schreiben
XLCDPutRamString(IIS);
XLCDPutRamString(buffer);
// Im Display steht dann: i = WERTvonI


******* 3 *******
siehe 1 und 2, auf ähnlichem Weg auch so durchführbar


LG Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren