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
So etwas umständliches und schlecht dokumentiertes! Ich schreib das Zeug selber!!
Daran gedacht?? extern void DelayFor18TCY(void); extern void DelayPORXLCD(void); extern void DelayXLCD(void); Diese mußt du selber definieren. Gruß Sascha PS. bei mir funktioniert es
Na logo! Ich konnte einfach nicht richtig recompilieren und in die LIB einbinden. Hatte trotz Veränderungen die Leitungen immer auf PortB. Ich habe die benötigen Funktionen übernommen und arbeite jetzt ohne diesen lästigen Header. :-) Trotzdem Danke Gruss Misch
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 ;)
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
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...
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
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
Hi Daniel, mit dem Microchip Application Maestro kannst du dir einen Treiber für LCD erstellen. Einzigst die delay's muß du selbst schreiben. Gruß Sascha
Das verstehe ich jetzt nicht ganz. Treiber? Sind nicht alle C-files oder das C-File + das Header-file der Treiber? Gruss Daniel
Daniel wrote: > Das verstehe ich jetzt nicht ganz. > Treiber? > Sind nicht alle C-files oder das C-File + das Header-file der Treiber? > > Gruss Daniel Richtig :) und diese Files generiert Microchip Application Maestro anhand deiner Einstellungen, wie Port usw. Gruß Sascha
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.