Hallo, allerseits. Ich hab hier ein Problem mit CodeVision, welches wahrscheinlich trivial ist. Ich versuche, eine Variable (im Moment ein unsigned char) auszugeben, jedoch klappt das irgentwie nicht... Zum debuggen will ich an einer Stelle des LCD-Displays den aktuellen State angezeigt bekommen, was mir leider immer mit einer Fehlermeldung verweigert wird. // Declare your global variables here //state Machine Statusflags unsigned char state = 0; unsigned char sub_state; unsigned char substate = 1; unsigned char old_substate; <hier steht noch diverses anderes> while (1) <hier steht noch viel mehr anderes> lcd_gotoxy(0,18); lcd_puts(substate); Die Zeile "lcd_puts(substate);" mag der Compiler gar nicht. Er schreibt "parameter #1 of type 'unsigned char' is incompatible with type 'unsigned char *' specified in the function 'lcd_puts' declaration." Leider finde ich die Hilfe vom CodeVision Compiler da nicht sonderlich hilfreich. Hat da jemand reinzufällig eine Idee was da los ist? Vielen Dank im Voraus, schönen Sonntag noch, Colin
lcd_puts(substate); Diese Funktion erwartet einen Zeiger auf einen String. Wie ich aus der Variablendeklaration lese ist der von dir Übergebene substate jedoch ein einzelnes Zeichen. Für die Ausgabe eines einzelnen Zeichens ist die Funktion lcd_putc geeignet. Wenn du einen String ausgeben möchtest sollte es so aussehen: unsigned char text []= "hallo welt"; lcd_puts(text); Hubert
Der Compiler sagt Dir doch recht deutlich, was nicht stimmt. Du übergibst ein "unsigned char", die Funktion lcd_puts() erwartet jedoch einen Zeiger auf ein "unsigned char". Entweder Du verwendest lcd_putc() statt lcd_puts, falls vorhanden oder Du musst eine mit 0 terminierte Zeichenkette an lcd_puts() übergeben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.