C18 Compiler XLCD.h

OP #780359
Lesenswert?

Morgens

Mein Problem --> die Änderungen in der xlcd.h bleiben unwirksam.

Ich habe die xlcd.h angepasst auf PORTD und 4Bit lower nibble. Den 
Header gespeichert und compiliert...

Setze ich händisch zb. den E_PIN = 1, so funktioniert dies. Aber über 
die Funktionen zb. openxlcd(....) wird immer noch der PORTB 
angesprochen.

Weiss jemand in welchem Detail der Hund versteckt ist??
(Bin noch Anfänger mit MPLAB und C18) :-)

MfG MICHI
#781979
Lesenswert?

Ich glaube ich hatte da ähnliche Probleme.
Wenn ich mich nicht täusche, musst du jeweils die Librarys noch 
"aktualisieren".

Dies machst du über die zuständige Bat-Datei. Mit folgender sollten 
eigentlich alle neu gebildet werden [...]\mcc18\src\makeall.bat

Ansonsten kannst du auch die C-Funktionen kopieren und dir damit deine 
eigene Source-Datei machen. Du findest alle Funktionen in diesem Ordner:
[...]\mcc18\src\traditional\pmc\XLCD\ (Kenne den Unterschied zwischen 
tradtitional und extended gerade nicht, die XLCD-Funktionen 
unterscheiden sich glaube nicht).

Dann kannst du dir in den Projekten selbst die C- und Header-Datei 
hinzufügen und hast absolute Transparenz ;)

// Mhhh... da kam ich wohl zu spät ;)
Gast #861862
Lesenswert?

Hi,


start, ausführen, cmd.

in der Komanozeile in den Ordner:

c:|MCC18/src>dir

und man sieht die unterschiedlichen bat. dateien.

da tipt man make_device_t P18FXYXY    (oder wie auch immer die funktion 
heisst)

und fertig ist es.

t steht für traditional.
P18FXYXY ist dein uController.
Sonst macht er alles für alle controller und es dauert lange...

Gruß,

J
Gast #1017216
Lesenswert?

hallo zusammen.
ich habe ebenfalls probleme mit der lcd-ansteuerung.
bis jetzt habe ich den PIC 16F873A eingesetzt und es hat immer geklappt.
neu verwende ich den PIC 18LF4620. ich werde in 3 monaten ein projekt 
mit diesem realisieren.
desshalb bin ich im momment daran, ihn ein wenig kennen zu lernen und 
auszutesten. somit auch die ansteuerung eines lcd moduls.

als erstes, bin ich mir schon einmal im unklaren, welchen treiber ich 
verwenden soll. da gibt es den xlcd vom c18-compiler, den xlcd von mplab 
und und und...

welchen empfehlt ihr.
ich habe es bis jetzt mit dem vom c18 erfolglos probiert.

Meine Pinbelegung:

DB7  -  RC7
DB6  -  RC6
DB5  -  RC5
DB4  -  RC4
E    -  RC3
RW   -  gnd
RS   -  RC0

Ich habe es im header xlcd.h auf meine pins geändert..
wie soll ich das am besten tun? die dateien in den aktuellen 
verzeichnissen lassen und da ändern, oder sie in den projektordner 
nehmen?

funktionen C:\Programme\MCC18_StudentEdition\src\pmc_common\XLCD
header     C:\Programme\MCC18_StudentEdition\h

Ich bin völlig irritiert wo mein fehler liegt...
OP #1018886
Lesenswert?

hallo daniel

bei mir ist es zwar schon ein weilchen her...

den xlcd header abändern und neu kompilieren reicht in der regel nicht.
man müsste die entsprechende library des prozessors mit dem geänderten 
header frisch kompilieren. Dies habe ich leider nie hinbekommen.

falls du die pinbelegung nicht auf die vorgabe des headers ändern 
willst, kannst du die funktionen, welche der header verwendet (stehlen), 
anpassen und in dein programm einbinden.

mfg mischa
Gast #1020950
Lesenswert?

hallo gerbert.
merci für die hilfe.
ich bin jetzt ein wenig weiter.
die änderungen im header werden beachtet. ich kann belibige definitionen 
im xlcd.h programmieren und sie in meinen funktionen verwenden. Aber:
wenn ich die initialisierungsfunktion aufrufe (openxlcd.c) blieb er 
"hängen". Mit den .bat dateien, habe ich wohl alles versaut^^ nach 
reinstallation des compilers ist mein programm auf dem pic schön 
gelaufen. jedoch wurde die funktion openxlcd.c nicht ausgeführt, sondern 
irgendwie übersprungen. es werden alle befehle vor und nach des 
funktionsaufrufes ausgeführt. Jedoch wird die funktion compiliert --> 
wenn ich fehler in openxlcd.c schreibe wird dies auch angezeigt.

gruss
Daniel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren