Hallo, ich programmiere schon ein paar Jahre AVR Mikrocontroller mit dem AVR bzw. Atmel Studio. Aus Interesse möchte ich jetzt gerne die PIC18 Mikrocontroller kennen lernen. Als Programmiergerät nehme ich das PICkit 3. Nun zu meiner Frage. Welche Software benötige ich alles? Das MPLAB X benötige ich ja auf jeden Fall, aber welchen Compiler? Es gibt ja kostenlose und kostenpflichtige. Kann ich mit den kostenlosen ohne Codebeschränkung programmieren? Gruß
Hallo PICer, nimm den XC8, kostet nix. der reicht zum einstieg und alles ist ausreichend gut dokumentiert. wenn du zu der gruppe "ich will nur open source und sonst keinerlei einschränkungen", der sdcc geht auch mit MplabX recht gut. mfg Peter
PICer schrieb: > Kann ich mit den kostenlosen ohne Codebeschränkung programmieren? Lesebrille verlegt? MfG Klaus
Hier gibt es einen Vergleich der unterschiedlichen Compiler bezüglich Speicherverbrauch bei "Free" und "Bezahl" - Versionen: http://www.mikrocontroller.net/articles/PIC_C-Compilervergleich
Vielen Dank für die Antworten. Ich denke ich werde mich fürs erste für XC8 entscheiden. Eine Frage noch, die nichts mit der Überschrift zu tun hat. Ich habe noch ein Dokument zum programmieren von PIC16. Ist die C Programmierung zu den PIC18 gleich? Gruß
PICer schrieb: > Ich habe noch ein Dokument zum programmieren von PIC16. > Ist die C Programmierung zu den PIC18 gleich? Die Programmierung ist sogar zum AVR gleich, ist ja beides C ;) Es gibt natürlich PIC-spezifische dinge, aber sowas wie Libs oder defines (für zB. Ports oder Registernamen) sind Compilerabhängig und nicht PIC-Familienabhängig. Bei XC8 kann man z.B. mit TMR3IF auf das interrupt-Bit des Timer3 zugreifen, bei mikroC ist es hingegen TMR3IF_bit, einige Unterschiede mehr sind es noch. Doch da mikroC PRO for PIC oder auch XC8 für ALLE 8-bit PICs sind, ist dort die PIC-spezifische Syntax gleich. Man muss lediglich gucken, was machbar ist. Man kann logischerweise nicht auf PORTC zugreifen, wenn der PIC garkeinen PORTC hat. Dann kommt aber auch beim compilern ein Fehler.
Sorry für den doppelpost.. Ich bin vom Thema abgekommen^^ Ich glaube nicht, dass sich dein Dokument um den XC8 dreht, sondern ggf um den HiTech-Compiler. Das schwierigste an der ganzen Sache (zum Anfang) ist C. Das kannst du durch die AVRs aber schon. Dann kommen die COMPILER-Abhängigen Besonderheiten. Also nützt es dir nicht so viel, ein Tutorial zu nem anderen Compiler zu lesen. Sollte es der XC8 Compiler im Dokument sein, ist es schon besser. Du kannst da halt die Eigenheiten sehen, z.B. wie du die Config beschreibst. Du kannst aber ein Beispielcode nicht für ein PIC18 nehmen, ohne die Configuration und ggf auch Modul-initialisierung anzupassen. Da es auch Tutorials zum PIC18 gibt, würde ich dir das eher näher legen. Auf microchip.com gibts aber auch noch einige ApplicationNotes oder Beispielcodes für den PIC18, zudem (dank den umwerfenden Datenblättern;) ) ist auch meist die Initialisierung eines Moduls bei dessen Beschreibung im Datenblatt zusehen. Zwar in Assembler, aber man sieht, was gemacht werden muss (also welche Register usw).
Hallo, ich schrieb: > Ich glaube nicht, dass sich dein Dokument um den XC8 dreht, sondern ggf > um den HiTech-Compiler. Es ist das hier, nur als PDF: http://www.amazon.de/Programming-8-bit-PIC-Microcontrollers-Interactive/dp/0750689609/ref=sr_1_1?ie=UTF8&qid=1374764081&sr=8-1&keywords=programming+8-bit+pic Gruß
Aus einem Kommentar: "Bates does a great job of presenting the programming basics (for, while, if, switch, etc) with the CCS compiler, as he presents the program, comments on it (explains how it works) and provides several pointers on each subject." Also wird der CCS-Compiler behandelt. Das bringt dir, wenn du den XC8-Compiler benutzen willst relativ wenig. Das Buch ist 5 Jahre alt, da gabs den Compiler auch noch garnicht. Ich schätze neben groben Grundlagen über ein paar PICs ist da Hauptsächlich C beschrieben (ist halt die größte Hürde bei komplett-neu Einsteiger). Was ich dir empfehlen würde: Beschäftige dich mit der Hardware (Datenblätter oder ggf Buch), sodass du vom Aufbau die Unterschiede zu AVRs kennst und grob weißt, wie was funktioniert. Da du C ja schon kannst, könntest du dir dann ein paar Beispielcodes angucken und überlegen was passiert. Letztendlich ist das, was sich zu AVRs unterscheidet die Registernamen, Modulfunktionen und die Art der Configuration (PIC/Module). Du kannst ja auch ggf versuchen ein bestehendes Programm auf einen PIC zu portieren. Wenn du z.B. ein Lauflicht mit Timer hast oder sowas. Aber das ist meine Meinung ;)
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.