Forum: Mikrocontroller und Digitale Elektronik pic mit lcd in c


von sting (Gast)


Lesenswert?

hallo,

habe eine Frage zu einem code in c für einen Pic18. Haben das an der Uni 
gemacht. Und wie es so ist muss alles neben 1000 anderen Sachen ganz 
schnell gehn und man lernt nur die Hälfte. Jetzt versteh ich meinen 
eigenen code nicht mehr.

In dem Programm wird ein LCD angesteuert (das vom PicDem2+ non ROHS). Am 
Anfang werden ein paar externe LCD Funktionen deklariert:
1
extern void lcd_printf (const char* message);
2
extern void lcd_gotoxy (char row,char column);
3
extern void lcd_clear (void);
4
extern void lcd_init (void);
5
extern void lcd_byte (char num);
6
extern void lcd_int (int num);

Jetzt weiß ich nicht woher die Funktionen kommen. Wenn ich jetzt ein LCD 
ansteuern will, bekomm ich die lib dann vom Displayhersteller, von 
Microchip oder muss ich die selbst schreiben?

Gibt es in mplab eine Möglichkeit zu sehen aus welcher Datei er sich die 
Funktionen holt?

Sorry für meine Unwissenheit. EMB war nur ein Wahlfach. thx!

von Tritt-Ihn (Gast)


Lesenswert?

Stress, stress -- Das kennt jeder :)

extern bedeutet in dem Fall wohl nur, dass die Funktion in einer anderen 
*.h- oder *.c-Datei steht.

Entweder liest du nach, welche Dateien im Quelltext über
1
#include "xxxxxxxx.h"
oder
1
#include <xxxxxxxx.h>
eingebunden werden. In einer der Dateien werden die Funktionen 
definiert.

Am einfachsten ist es wohl, wenn du einfach ein "Find in files" machst: 
Das entsprechende Projekt öffnen, dann Strg+Shift+F drücken, "lcd_init" 
suchen (die wird wohl im Projekt am seltensten auftauchen), Look in: 
"Active Project" auswählen.

Du findest alle Stellen, an denen lcd_init auftaucht. Im Idealfall genau 
dreimal: In der Funktion an sich, in deiner Definition im Haupptteil und 
beim einmaligen initialisieren des LCD.


Wenn aber die verwendeten Pins und das LCD nicht identisch sind, dann 
wird es mit dem einfachen kopieren schon schwierig! Dann musst du 
verstehen, warum der Code funktioniert und kannst ihn eigentlich auch 
selbst neu schreiben. Dazu brauchst du das Datenblatt des LCD-Displays, 
das Datenblatt des Mikrochips und ein wenig Geduld zum einarbeiten ;)

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.