Welche Vorteile bietet die Programmierung eines MSP430 in C/C++ gegenüber Energia?

Ich beginne damit, dass ich neu in der Mikrocontroller-Programmierung bin. Ich habe einige (ca. 30 Jahre) Erfahrung im Programmieren und ein Teil davon beim Schreiben von C/C++, aber diese Zeiten liegen jetzt lange hinter mir.

Da ich gerade erst anfange, möchte ich wissen, welche Vorteile es hat, meine Logik in C/C++ gegenüber der viel einfacheren Energia-Sprache zu programmieren. Ich suche nach bestimmten Funktionen oder Anweisungen des MSP430, die man nur in C/C++ programmieren kann, anstatt die Codeorganisation (Klassen, Aufzählungen, Typsicherheit usw.)

Kontrolle, Fähigkeit, komplexe Dinge zu tun, die nicht in diesem Rahmen definiert sind. Ich stelle mir vor (obwohl ich es nicht weiß), dass es eine Codegröße und eine RAM-Strafe für die Verwendung des Frameworks gibt. Denke, es hängt davon ab, was du zu tun versuchst. Ich betrachte Dinge wie Energia als Hobbywerkzeug.
Im Allgemeinen die Vorteile einer universelleren Sprache auf niedrigerer Ebene gegenüber einer proprietären Sprache auf höherer Ebene. In Embedded gibt Ihnen die Verwendung von "einfachem" C ein gutes Gefühl dafür, was genau vor sich geht, da Sie dem Metall so viel näher sind, ohne auf Assembler zurückgreifen zu müssen.
Es ist lustig, dass ich das Gefühl habe, vor vielen Jahren dieselben Argumente über die Verwendung von Assemblersprache vs. C gehört zu haben.
Ist Energia nicht nur Bibliotheken/Abstraktionen im Arduino-Stil in C++ ? Das würde dies im Grunde zur Arduino vs. Direct-Frage machen, wobei eine Nebenhilfe des msp430 möglicherweise Fähigkeiten hat, die sich nicht vollständig in Bibliotheken / Abstraktionen widerspiegeln, die möglicherweise im Designkonzept durch den anderen ATmega-Chip leicht beeinflusst werden.
Durch die Verwendung von C können Sie Tausende von Beispielzeilen mit C-Code verwenden, die für den MSP430 geschrieben wurden und bereits im Internet verfügbar sind.

Antworten (1)

Ich denke, dass die Hauptvorteile einer vollwertigen Umgebung (als Code Composer) gegenüber Energia:

1) Kann die gesamte Familie der MSP430-Mikrocontroller programmieren und nicht nur einige wenige ausgewählte Mikrocontroller wie in Energia.

2) In der Lage, die Anwendungen zu debuggen, indem Haltepunkte gesetzt, Variablen beobachtet, Schritt für Schritt usw.

3) Kann eine viel leistungsfähigere Bibliothek (MSP430-Treiberbibliothek) im Vergleich zu einer begrenzten Arduino-Clone-Bibliothek verwenden. So vermisste ich bei "Standard Energia" die Möglichkeit, einen Timer zu setzen, der einen Interrupt auslöst; Sie können dafür natürlich eine Bibliothek eines Drittanbieters installieren oder direkt mit Registern spielen (obwohl Sie den Energia-Code stören könnten, der dieses Peripheriegerät für andere Zwecke verwenden könnte).

4) Im Gegensatz dazu können Sie mit der MSP430-Treiberbibliothek jedes vorhandene Peripheriegerät auf dem Mikrocontroller programmieren; und Sie wissen, welche Peripheriegeräte verwendet werden (weil Sie sie alle programmieren, anstatt sich wie in Energia auf versteckten Code zu verlassen).

Das heißt, Energia eignet sich hervorragend für schnelle Prototypen. Beide Umgebungen sind es wert, erlernt zu werden.

Mit Code Composer Studio können Sie jetzt Energia-Skizzen darin verwenden und in ihnen debuggen.
Außerdem hat Energia Void Sleep (uint32_t Millisekunden) hinzugefügt; void sleepSeconds (uint32_t Sekunden); und void suspend(); Funktionen. Auf dem MSP430G2553-Controller verwenden die sleep()-Funktionen den LPM3-Modus und suspend() tritt in LPM4 ein.