tach.... ich hab n' Problem mit eins, zwei Funktionen. Ich arbeite mit einem PIC 18F452 und MPLab mit CCS Compiler. Ich bastele zur Zeit mit nem Grafik LCD rum und steh nun vor einem Problem. Folgendes: den jeweiligen Schreibbefehlen möchte ich X und Y Startdresse übergeben plus die eigentliche information. zB sowas: lcd_putnumb(3,12, 0xFF); das Schreibt mir nun 255 (dezimal) auf Page 3, Adresse 12... funktioniert prima... nun aber: lcd_putchar(3,12,"Hello World"); das müsste nun "Hello World" als Text an die selbe stelle schreiben..... CCS meldet BAD EXPRESSION SYNTAX kennt jemand das Problem oder weiss was ich falsch gemacht habe?? THX .......Skamper
Wie sieht deine Funktion lcd_putchar aus? Müsste sowas in der Richtung sein
1 | |
2 | |
3 | |
4 | |
also:
void lcd_putchar(int cx, int cy, char f)
{
int fx;
lcd_setpage(cx);
switch(f)
{
default:
for(fx = 0; fx < 6; fx++)
{
lcd_setaddr(cy+fx-1);
lcd_write(font[(f-0x20)][fx]);
output_low(LCD_RW);
output_high(LCD_DI);
lcd_enable();
}
cy = cy+6;
break;
}
}
Der Switch soll nicht verwirren... er geht den Default case für jeden
buchstaben einzeln durch die funktion ruft dann nur noch die 6 jeweils
benötigten Bytes auf (Font 6*8)
Gast
#1108932
"char f" ist ja auch nur ein einzelnes Zeichen und keine vollständige Zeichenkette Versuchs mal so (nicht getestet, nur kurz hingetippt...):
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
Zwirbeljupp wrote: > "char f" ist ja auch nur ein einzelnes Zeichen und keine vollständige > Zeichenkette > > Versuchs mal so (nicht getestet, nur kurz hingetippt...): > >
1 | |
2 | |
Würd ich nicht machen. Eine Funktion lcd_putchar könnte sich ja durchaus als nützlich erweisen. Aber man kann sie ja als Baustein für ein lcd_putstring benutzen
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
hab mal diverses ausprobiert..... und so wies aussieht lässt sich ein string nur dann übergeben wenn keine weiteren Variablen übergeben werden. Egal wie ich es drehe, combiniert funktioniert es nicht...... einzeln ist es kein problem....
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.