Forum: Mikrocontroller und Digitale Elektronik Microchip MPLAB X + Compiler installieren


von PICer (Gast)


Lesenswert?

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ß

von Peter C. (peter_c49)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

PICer schrieb:
> Kann ich mit den kostenlosen ohne Codebeschränkung programmieren?

Lesebrille verlegt?

MfG Klaus

von Chris B. (dekatz)


Lesenswert?

Hier gibt es einen Vergleich der unterschiedlichen Compiler bezüglich 
Speicherverbrauch bei "Free" und "Bezahl" - Versionen:
http://www.mikrocontroller.net/articles/PIC_C-Compilervergleich

von PICer (Gast)


Lesenswert?

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ß

von ich (Gast)


Lesenswert?

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.

von ich (Gast)


Lesenswert?

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).

von PICer (Gast)


Lesenswert?

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ß

von ich (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.