LCD auf PICDEM2

Gast #2679065
Hi!

Ich habe hier ein PICDEM 2 Plus Demo Board und kann leider das LCD 
Display nicht ansteuern. In dem Beispielprogramm sind die Header Lcd.h 
und DisplayMacros.h eingebunden. Diese habe ich auch in meinem Programm 
einbegunden. DisplayMacros.h enthält ein paar nützliche Makros, dürfte 
aber nicht weiter wichtig sein wenn man nicht auf diese vorgefertigeten 
Anzeigen zurückgreifen will.

Der Header Lcd.h enthält aber lediglich die Prototypen der Funktionen, 
und wenn ich nur diesen Header verwende dann funktioniert es nicht. Es 
gibt noch eine andere Datei, die Lcd.c heisst. In dieser sind die 
nötigen Funktionen definiert und auch hier wird wieder Lcd.h 
eingebunden. Ich habe dann diese Datei in Lcd_h.h umbenannt und in mein 
Projekt eingebunden, leider war auch das ohne Erfolg. Ich  hab das 
Display per Software vorher eingeschaltet und auch den 
Kontrasteinstellung verändert.

Muss man da noch irgendwas beachten, wenn man das Display ansteuern 
will?

Danke!
#2679160
Du musst die lcd.h und die lcd.c in dein Projektverzeichnis kopieren 
oder den Ordner in den Projektoptionen bei "Include Search Path" 
angeben. Dann in dem c-file in der du die Funktionenn verwenden willst, 
musst du nur die Header-File inkludieren mit #include "lcd.h". Es werden 
dann automatisch die Funktionen der lcd.c verwendet.

Zu dem Thema kannst du dir das hier mal durchlesen:
Beitrag "Verständnisfrage Header/include WinAVR"
Gast #2679380
Das hab ich ja alles gemacht. Der Code wird fehlerfrei compiliert wenn 
ich Funktionen wie LCDWriteStr() oder sowas verwende. Nur es passiert 
einfach nichts. Was ich auch komisch finde ist, dass in der Lcd.h Datei 
nur die Prototypen enthalten sind. Aber egal welchen Header ich 
verwende, das Display bleibt aus. Muss man da noch irgendwas anderes 
machen damit es geht? Irgend nen Jumper umsetzen oder sowas?
Gast #2679391
Aber das Display hast du schon initialisiert, oder?
Poste doch einfach mal deinen Code hier rein, dann sehen die Leute eher 
wo der Fehler liegen könnte!

Gruß
Andi
Gast #2679404
#include <p18cxxx.h>
#include <GenericTypeDefs.h>

#include "Lcd.h"
#include "DisplayMacros.h"

#define LED0 0x01
#define LED1 0x02
#define LED2 0x04
#define LED3 0x08
#define OFF  0x00

void high_isr(void);
void low_isr(void);
void initBoard(void);

int i;

void main(void)
{
    initBoard();
    LCDInit();
    LCDClear();
    LCDWriteStr("Hello");

    while(1)
    {

    }

    return;
}

Ich hab mir jetzt mal den oben verlinkten Artikel durchgelesen. Demnach 
ist es nur nötig, ein Header File zu includen, das die Prototypen 
enthält, wenn man das .c File mit den Funktionen ins Makefile hinzfügt. 
Dazu muss ich es ja nur in mein Projekt importieren, oder? Also bei 
MPLAB links in der Liste auf "sourcefiles" rechtklicken und add existing 
item. Wenn ich das so mache, wird das ganze Projekt aber nicht mehr 
kompiliert.
Gast #2680908
Hat noch jemand vielleicht ne Idee woran das liegen könnte? Kann es sein 
dass die LCDInit() routine für ein anderes Board ist? Es gibt ja 
verschiedene Versionen von dem PICDEM.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.