Hallöchen miteinander... Vorabinformation: ich absoluter Neuanfänger...also habt bitte gedult mit mir. Ich habe mir aus dem Netz eine Bauanleitung (inkl. Schaltplan und Programmlisting) für eine Alarmanlage gezogen. Die Schaltung habe ich jetzt soweit aufgebaut, sodass ich mich nun an das brennen des PIC16F84A begeben will. Hierfür habe ich mir ein Pic-Brenner und Experimentierboard von www.vellman.be zugelegt. Das Brennen über ASM mittels des beigelegten Programms funktioniert, jedoch liegt der Programmcode für die Steuerung der Alarmanlage in "C" vor. Wie, oder mit welchem Programm bekomme ich nun den compilierten Code in meinen PIC? Dank für Eure unterstützung bei meinen ersten "gehversuchen" Gruss Kneubel
Hi, ich gehe davon aus das du die MICROCHIP IDE hast, für diese gibt es einen C-Compiler names PIC C Lite von Hitech Software. Der sollte nach dem registrieren frei zum runterladen sein (kann sein das ich mich irre, aber habe auf jeden fall im letzten Semester viel damit gearbeitet. mfg matthes
In deiner Besreibung steht irgendwo Name des Compielers. Weil es gibt mehrere C-Compiler. Erste Schritte mit cc5x-Compiler findest du hier www.cc5x.de
Hallöchen... Vorab möchte ich euch ersteinmal Dankesagen für Eure Unterstützung. Mit dem Compiler cc5x hatte ich es schoneinmal probiert, jedoch hatte ich hierbei probleme mit der stdio.h bekommen, worauf sich das file nicht compilieren lies. Jetzt habe ich wie von Matthes den PICC lite heruntergeladen und installiert. Jedoch bekomme ich auch hier folgende Fehlermeldungen beim kompilieren: Error[000]: Illegal # directive "FUSES" Error[000]: Illegal # directive "use" Error[000]: Illegal # directive "BYTE" Habt Ihr noch eine Idee?
Versuche es mal mit dem CCS-Compiler www.pic-c.com. Sieht so aus als wäre das der richtige. Ein Link auf das Listing währe mehr als hilfreich.
Habe jetzt versucht dies mit dem CCS C-Compiler das ganze zu kompilieren, jedoch bekomme ich jetzt die Fehlermeldung: Invalid Pre-Processor directive in verbindung mit der Datei: 16C84.H Habt Ihr hierfür einen Lösungsvorschlag für mich? Ps: Anbei das Programmlisting
Da ist irgendwo was durcheinandergewürfelt. Es wird eine Datei aus dem Verzeichnis \CC5\ (CC5-Compiler?) includiert und dann die #use rs232 (CCS-Compiler) Direktive aufgerufen. Die zu includierende Datei müsste irgendwo unter \CCS\ oder \PCM\ stehen.
Du hattest recht, die Verzeichnispfade waren inkorregt. Diese habe ich jetzt soweit angepasst, jedoch bekomme ich bei der Zeile 16: #use RS232 (Baud=2400, Xmit=PIN_17, Rcv=PIN_18) die Fehlermeldung zurückgeliefert, dass: USE parameter value is out of Range Not a number: PIN_17. Was läuft da schief? Bin ich zu blöd dieses Listing zu kompilieren? (rhetorische Frage)
Hi, Dein Problem liegt darin, dass es PIN_17 und PIN_18 gar nicht gibt. Oder ich bin zu blöd die Pins im Headerfile zu finden. Wär für nen PIC auch ne etwas ungewöhnliche Bezeichnung. Im allgemeinen weden die Pins mit PIN_Ax und PIN_Bx bezeichnet. Da die Gruppen A und B unterschiedliche Eigenschaften haben. Die B-Gruppe hat z.B. interne Pullups was die A-Gruppe nicht hat. Wie Deine Pins heißen findest Du am besten im Headerfile raus, wenn Du Dir dazu noch das Datenblatt des PICs nimmst, dann weißt Du auch um welche Pins es sich tatsächlich handelt. Nach was anderes, welchen PIC benutzt Du eigentlich? Den PIC16F84A, PIC16F84, PIC16C84A oder PIC16C84A. Jeder PIC hat nen eigenes Headerfile. Ich weiß jetzt nicht ob die sich Inhaltlich wirklich unterscheiden, aber ich denke es wäre ne gute Idee das passende zu benutzen. Kurz zu den abkürzungen F steht für Flash, heißt also es ist möglich den Mikrocontroller öfters zu programmieren ohne diesen vorher Löschen zu müssen, z.B. durch UV-Licht. Für welches Wort das C steht weiß ich nicht genau, es steht auf jeden fall für alle Mikrocontroller die nicht wieder beschreibbar sind. Das gilt allerdings nicht für die Mikrocontroller mit Fenstern, diese sind durch UV-Licht löschbar. Hoffe das bringt Dich weiter Gruß Neki
"Für welches Wort das C steht weiß ich nicht genau, es steht auf jeden fall für alle Mikrocontroller die nicht wieder beschreibbar sind. Das gilt allerdings nicht für die Mikrocontroller mit Fenstern, diese sind durch UV-Licht löschbar." Fast richtig. Die einzigste Ausnahme war der 16C84. Der hat einen EEPROM als Programmspeicher, ist also auch wiederbeschreibbar.
JIPPI... Eine der einfachsten Hürden (das Compilieren eines schon vorliegenden Quellcodes (Lacht nicht!)) ist genommen und dies nur dank Eurer Hilfe. Ob der PIC nun auch das macht, was er soll werden wir sehen. Nocheinmal mein recht herzlichen Dank Kneubel
MIST ... ZU FRÜH GEFREUT. Konnte zwar jetzt erfolgreich das HEX-File erstellen, jedoch beim öffnen der HEX-Datei mit meinem PIC-Brenner (Velleman PIC Programmer) meldet er falsches Dateiformat. Er wünscht eine HEX-Datei im INHX8M-Format. Wie muss ich den Kompiler PCW C-Compiler konfigurieren, dass er das richtige dateiformat erstellt? (Datei angehängt der aktuellen Einstellungen) Hättet Ihr hierfür noch einen Tipp für mich?
Sieht mir nach MPLAB 7.XX aus. Das habe ich bei mir noch nicht installiert. Schau mal in der CCS-Hilfe nach. Da sind alle Optionen der Command-Line Version des Compilers aufgelistet und versuche es mal per Hand zu compilieren.
Hallöchen, Zur Eklärung, evtl. habe ich ja bei den einstellungen etwas verkehrt gemacht: ich habe zwar MPLAB 7.01 installiert. Unter Project->Select Language toolsite habe ich CCS C-Compiler ausgewählt. Wenn ich nun unter Build das File Kompilieren will öffnet sich daraufhin der PCW C Compiler mit meinem Listing. Kompiliert wird daraufhin nicht automatisch sondern ich muss mit f9 das Listing kompilieren. Komisch, dass unter MPLAB darauf nichts passiert. Wenn ich mir nun das mit oben eingestellten Optionen HEX-File anschaue, dann kann ich keine Formatsspezifischen Abweichungen im vgl. zu einem mitgelieferten Example-File erkennen. Die in der Hilfe angegeben Optionen zum komilieren von Hand sind in etwa die gleichen, die ich auch von Hand im Menü einstellen kann. Wie bekomme ich das verflixte File so kompiliert, dass das Brennprogramm die datei im INHX8M-Format lesen kann. Hat jemand einen kreativen Vorschlag? Ich bin kurz vorm verzweifeln!!!
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.