Forum: Mikrocontroller und Digitale Elektronik putc PIC


von greenhorn (Gast)


Lesenswert?

Hallo,

ich habe mir gerade die Seite von Fernando Heitor durchgelesen, um mein 
LCD zu initialisieren. Es klappt auch alles, aber ich habe Probleme mit 
dem Verständnis der Funktion putc. Warum ermöglicht sie die Übergabe von 
Charakter-Werten bzw. wie kann man die Printf-Funktion dazu nutzen z.B. 
Integer-Werte in ASCII umzuwandeln.

#include <lcd.h> // Hier wird die Headerdatei des Hauptprogrammes 
eingebunden
#include <lcdanzeige.c> // Hier wird die Datei für die Routinen der 
LCD-Anzeige eingebunden

unsigned char wert; // eine Zählvariable

// Beginn des Hauptprogrammes
void main() {

set_tris_a(0); // Port A als Ausgang definieren
set_tris_b(0); // Port B als Ausgang definieren
set_tris_c(0); // Port C als Ausgang definieren

lcd_init(); // Initialisierung der LCD-Anzeige

LCD_BLANK();

lcd_gotoxy(1,1); // weitere Routine von lcd16x2.c, bewegt den Cursor zu 
den Koordinaten x,y

lcd_putc("\cHallo Welt\2"); // Dieser Befehl gibt die Zeichen (Text) an 
das Display.
lcd_putc("Ein Test");

delay_ms(500); // pausiert 500ms
wert=0; // setzt Zählvariable auf 0

while (1) { // Endlosschleife

/* Mit dem Befehl "printf" wird die Variable in ASCII-Code umgewandelt 
und mit der Routine lcd_putc auf die Anzeige geschrieben. */
printf(lcd_putc,"\fWert: %03u",wert);

wert++; // Zählvariable wird um 1 erhöht

delay_ms(200); // Pause200ms
} // Ende der Endlosschleife
} // Hauptprogramm Ende


Vielen Dank

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.