Wenn SIE jetzt anfangen würden, welche PIC16F-kompatible IDE und welchen Compiler würden Sie wählen und warum?

Das wird ein bisschen lang, da ich alle offensichtlichen Fragen abdecken wollte, bevor sie auftauchen, einige meiner Überlegungen begründen und beweisen wollte, dass ich meine Vorarbeit geleistet habe! Wenn die Zeit knapp ist, springen Sie zum Abschnitt tl;dr, um zum Fleisch zu gelangen. Das obige Banner sagt auch, dass dies wie ein subjektiver Beitrag aussieht, also werde ich den Beitrag etwas erweitern, um genau einzugrenzen, was ich erreichen möchte.

Ich habe mich wirklich gut in Stackexchange umgesehen und es gibt ähnliche Fragen wie meine, und ich fand die Frage Beginn der PIC-Programmierung nützlich, aber die meisten wurden vor der neuen Version von MPLAB X gestellt und beantwortet, die jetzt auf Open basiert Quelle NetBeans IDE, was eine ziemliche Veränderung ist, also das Gleichgewicht kippen könnte.

Hintergrund: Ich habe mir kürzlich einen Arduino gekauft und da ich noch nie mit MCU herumgespielt habe und meine Programmierkenntnisse auf PHP beschränkt waren, war ich mit den Ergebnissen sehr zufrieden.

Es gibt ein paar "lustige" Dinge, mit denen ich anfangen möchte, bevor es mit dem "richtigen" Zeug losgeht ...

  • Machen Sie einen Küchen-Countdown-Timer, der ein paar Sekunden lang eine kleine Handglocke läutet.
  • Machen Sie einen Hühnertüröffner.

Endlich will ich....

  • Bauen Sie einen Datenlogger, der die Status- und Laufzeitdaten der NIBE-Wärmepumpe von der externen F2015-Einheit zum SMO 05-Controller abfängt und protokolliert, der über ein CAT5-Kabel läuft (sobald ich das Datenprotokoll herausgefunden habe!).

  • Verbinden Sie sich mit dem IR-Schnittstellen-„Auge“ meines Stromzählers und protokollieren Sie stündliche Messwerte des tatsächlichen Energieverbrauchs (im Gegensatz zu den sehr ungenauen, aber billigen Clamp-the-Wire-Monitoren).

Sieht so aus, als hätte ich hier eine Auswahl:

Arduino/Freeduino: Unglaublich schneller Start – ich hatte es innerhalb weniger Stunden nach dem Öffnen der Box die Worte „bereit“, dann „Taste hoch“ oder „Taste runter“ (je nach Zustand) mit der PCM-Bibliothek, dem Lautsprecher und dem Uno sprechen lassen und mit 30 Zeilen Code. Aber für jedes gleichzeitige Projekt benötigen Sie ein Arduino.

**Die Picaxe **- verwendet PicBasic und spezielle vorinstallierte PIC-Chips. Das System ist unglaublich billig und schnell zu erlernen, ermöglicht es, den programmierten Chip herauszunehmen und eigenständig in einem Steckbrett zu verwenden, aber irgendwann muss ich über PICBasic hinaus expandieren.

Sogar ich konnte mit diesen ersten beiden Optionen fertig werden. Hauptsächlich, weil jeder eine vereinfachte Hochsprache zu lernen hat und eine einfache All-in-on-IDE/Compiler/Programmierer.

Eigenständiger PIC : Dann gibt es den Standard-PIC-Chip für 2 £ und den supergünstigen K150-Programmierer, mit dem der programmierte Chip herausgenommen und eigenständig in einem Steckbrett verwendet werden kann.

Als also gestern Morgen ein K150, Kabel, CD mit Hex-Flashing-Software und ein paar PIC16F690-Chips ankamen, fing ich mit einem leeren Blatt an. Ich kann PHP schreiben und verstehe die Grundlagen objektorientierter Sprachen und habe am College ein wenig C gelernt, genug, um mich schneller mit dem Arduino zu beschäftigen, als wenn ich nichts getan hätte. Aber ich verstehe auch, dass Arduinos 'Wiring' eine extrem vereinfachte Obermenge von C ist, also muss ich natürlich mehr runter und schmutziger werden, um den K150 zu programmieren. Eines Tages vielleicht Assembler, aber um eine Hühnerstalltür zu öffnen, wenn es hell wird, bin ich ziemlich sicher, dass C ausreichen wird, um anzufangen!

Das Problem, das ich habe, ist .... so viele Möglichkeiten!

Ich hoffe, dass ich mit dieser 12-Blatt-Tabelle mit über 200 Einträgen und Links zu verschiedenen Arten von Projekten, Referenz- und Hilfeseiten usw. bewiesen habe, dass ich meine Hausaufgaben gemacht habe. Laut Chrome habe ich an dem Tag, an dem ich das K150 bekam, 118 verwandte Seiten angesehen und über 330 relevante Seiten in den letzten 4 Tagen. Also ich habe definitiv etwas Vorarbeit geleistet!

Ja, ich weiß, dass ich das PicKit3 kaufen sollte und dass der Kauf des K150 mich irgendwie zur Brut Satans macht, wie die Antworten anderer K150-Besitzer in Foren zeigen. Eines Tages werde ich es sicher kaufen, aber im Moment fange ich nur als Hobby an. Ich habe einen offiziellen Arduino gekauft, also habe ich meine Seele auf diese Weise gerettet!

tl;dr - genug Geschwätz, was ist die Frage?!

So wie ich es verstehe, kann ich einen PIC-Chip mit dem K150 oder so ziemlich jedem kompatiblen Programmierer programmieren, solange ich Hex kompilieren kann.

Wenn ich mich nicht irre, habe ich folgende Möglichkeiten:

MPLAB X und PIKlab sind beides kostenlose IDEs, die mit den meisten PIC-Chips von Microchips kompatibel sind.

Hi-Tech C Compiler, Sourceboost, Codeblocks und SDCC sind alle Microchips-kompatible Compiler, einige kostenlos wie SDCC, einige kostenlos mit eingeschränkter Funktionalität, einige nur kostenlos für einen bestimmten Chip.

Dann gibt es PicBasic Pro , 99 £ für die vollständige Suite oder 30 £ für die Studentenausgabe des Compilers allein. Im Moment sind 99 £ ein ziemlich hoher Betrag, um „ein Spiel zu haben“ – etwas, was Picbasic über C empfehlen könnte?

Ich habe mir auch einige der offiziellen und inoffiziellen Trainingsvideos für einige der oben genannten angesehen.

Zu diesem Zeitpunkt ist meine Absicht nicht die Weltherrschaft oder der nächste RaspberryPI, es ist in der Lage zu sein, eine LED blinken zu lassen, vielleicht Tastatureingaben entgegenzunehmen, vielleicht sogar einen LED-Würfel mit Charlieplex für Weihnachten zu machen.

Ich komme in die Jahre und habe nur begrenzt Verstand und Zeit; Das Offensichtliche wäre, die Zeit zu haben, alle oben genannten Dinge auszuprobieren und zu sehen, was zu mir passt. Nicht wirklich praktisch.

Ich muss eine auswählen, sie lernen und dabei bleiben. Ja, Google war mein Freund, aber viele der Bewertungen dieser IDEs und Compiler beziehen sich auf beendete alte Versionen. Ich habe sogar Links zu Seiten bei Demon Internet und Geocities gefunden - 1994-1996 scheint der Höhepunkt der Aktivität für Diskussionen über das Brennen Ihres eigenen PIC-Codes zu sein. Und in 8 Jahren ändert sich viel.

Also meine Frage wäre:

Wenn SIE jetzt anfangen würden, welche IDE und welchen Compiler würden Sie wählen und warum?

Danke und Entschuldigung, dass der Beitrag so lang geworden ist!

In Bezug auf Arduino: " Aber für jedes gleichzeitige Projekt benötigen Sie ein Arduino " - Nicht wirklich. Sie können den Mikrocontroller des Arduino, z. B. Atmega168 oder 368, oder sogar ihre billigeren, kleineren Cousins ​​​​AtTiny25/45/85, alle in DIP-Paketen erhältlich, alle eigenständig verwendbar, aufstecken und programmieren. Alles, was Sie brauchen, ist der Arduino-Bootloader, der Open Source ist und auf die 168/328-MCUs geladen werden kann. Kleinere Versionen existieren für den ATTiny.
Ähnliches gilt für das TI MSP430 Launchpad, das inklusive Versand nur 4,30 $ kostet und auch mit einer Ersatz-MCU geliefert wird. Auch diese können programmiert, dann gesteckt oder unabhängig vom Launchpad verwendet werden.
1.: Prost für die Veröffentlichung all dieser Hausaufgaben! Zweitens: Ich würde gerne CCS in die Mischung werfen . Es ist eine andere IDE für PICs.
Danke für diese Tipps, @AnindoGhosh. Ich wusste nicht, dass Sie Ihren eigenen Arduino-Bootloader laden können. Ich interessiere mich sehr für das TI MSP430 Launchpad, das vollständig an mir vorbeigegangen ist. Ich habe es hier in Großbritannien gefunden - das komplette Kit plus 2 MSP430-MCUs scheint £ 2 BILLIGER zu sein als das billigste einzelne MSP430, das ich bei ebay finden kann! Dies muss sein, um die Verwendung des Chips zu fördern? Ich habe mir einen bestellt - danke für diesen Tipp.
@NickAlexeev - danke auch für deinen Kommentar. Ich sehe, dass CCS 50 $ für 12-Bit- und 200 $ für 16-Bit-Compiler kostet. Ich habe es mir notiert, aber ich werde zuerst sehen, wie weit ich mit kostenlosen Compilern komme! Danke beide.
@lardconcepts Kostenlose Editionen von Code Composer Studio gibt es mindestens für den MSP430 (Codegröße begrenzt) und, wenn ich mich richtig erinnere, auch für einige andere Mikrocontroller. Außerdem kostet das MSP430-Launchpad-Kit (einschließlich der 2 MCU-Chips) pauschal 4,30 US-Dollar, einschließlich weltweitem FedEx-Versand von estore.ti.com , sodass der Kauf bei ebay oder lokalen Verkäufern wenig Sinn macht. Wenn Ihre Projekte dem MSP430 entwachsen, enthält das neue TI Stellaris Launchpad einen leistungsstarken Arm Cortex M4-Controller.

Antworten (2)

Wenn Sie wirklich etwas über Mikrocontroller lernen möchten , müssen Sie das Arduino und all seine Schichten, die die Details vor Ihnen verbergen, aufgeben. Ein PIC 16 ist sicherlich ein nackter Mikrocontroller.

Sie möchten auf jeden Fall MPLAB verwenden, zumindest zum Debuggen. Etwas anderes zu verwenden macht keinen Sinn, da MPLAB kostenlos ist und vom Hersteller offiziell unterstützt wird. Microchip bietet jetzt auch eine vollständige Reihe kostenloser Compiler an, mit dem einzigen Unterschied zu den Vollversionen, dass einige Optimierungen deaktiviert sind. Das sollte für jemanden, der lernt und experimentiert, keine Rolle spielen, und Sie können dieselben Compiler verwenden, die die meisten anderen Leute verwenden und die daher die auffälligsten Fehler haben.

Wenn Sie jedoch wirklich etwas lernen möchten, sollten Sie einige Projekte in Assembler durchführen. Dies wird Sie zwingen, die unteren Ebenen zu lernen und Ihre Augen dafür zu öffnen, was wirklich auf der Hardware- und Unterrichtsebene vor sich geht. Diese Einsicht ist sehr nützlich, selbst wenn Sie Code auf höherer Ebene schreiben, und Sie werden nicht zögern, hier und da ein Schlüsselmodul in Assembler zu implementieren, wenn es angebracht ist.

Danke Olin. Ich nehme Ihren Standpunkt zu Assembler. Auf den ersten Blick erschreckt es mich zu Tode, aber es ist wie irgendetwas zu lernen, nehme ich an. Antwort akzeptiert.

Ich sehe keinen Grund, die Arduino IDE aufzugeben. Es ist einfach und schnell, und wie Sie sagten, ein einfacher Satz von c +, es gibt so viele Beiträge zu dem Ding, dass es die Arbeit einfach zu einfach macht. Ich habe ein riesiges Zwei-Prozessor-Projekt mit der Arduino IDE in weniger als 2 Monaten abgeschlossen, und es funktioniert einwandfrei.

Aber wenn irgendjemand wüsste, was ich benutzt habe, würde ich mich dafür schämen, dass ich keine der konventionelleren Ideen verwendet habe. Die ganze Idee ist, Maschinencode so schnell wie möglich zu generieren, um ein funktionierendes Produkt zu erhalten.

Warum Dinge verkomplizieren?

Die arduino/atmel-Aufstellung ist unendlich einfacher als jedes andere Designstudio für eingebettete Produkte, insbesondere wenn Sie schnelle Ergebnisse und eine super kurze Lernkurve benötigen. Sag es bloß nicht dem Chef.

Danke Doug. Ich werde Sie hochstufen, weil ich voll und ganz zustimme - "Warum die Dinge verkomplizieren?"! Aber ich werde Olins Antwort akzeptieren, da es sich speziell um PIC-Chips handelte. (Verzeihung!)