mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pic mit lcd in c


Autor: sting (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
extern void lcd_printf (const char* message);
extern void lcd_gotoxy (char row,char column);
extern void lcd_clear (void);
extern void lcd_init (void);
extern void lcd_byte (char num);
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!

Autor: Tritt-Ihn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
#include "xxxxxxxx.h"
oder
#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 ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.