- Einrichten der Arduino IDE
- Einrichten der STM8S103F3-Karte für die Arduino IDE-Programmierung
- LED blinkt auf STM8S103F3 mit Arduino
- Arduino Pin Mapping für STM8S103F3
- Kompilieren von SPL-Bibliotheken in Arduino IDE
Arduino hat sich dank seiner unterstützenden Benutzergemeinschaft zweifellos zu einem benutzerfreundlichen und schnellen Prototyping-Tool entwickelt. Aufgrund ihres Open-Source-Charakters ist die Plattform heute nicht nur auf die Arduino-Boards beschränkt, sondern auch auf andere Entwicklungsboards wie NodeMCU, ESP8266, STM32, MSP430 usw., die über die Arduino-IDE programmiert werden können. Wenn Sie wissen möchten, wie es geht, können Sie den folgenden Links folgen.
- Programmieren von NodeMCU mit Arduino IDE
- Programmieren von ESP8266 mit Arduino IDE
- Programmierung von STM32 mit Arduino IDE
- Programmieren von MSP430 mit Energeia (ähnlich wie Arduino)
Ohne Zweifel ist die Arduino IDE ideal für Anfänger, aber für die berufliche Entwicklung ist es dennoch gut, mit nativen Entwicklungsumgebungen und Compilern zu arbeiten. Wie die MPLABX für PIC-Mikrocontroller und das Code Composer Studio für TI-Mikrocontroller. Die Verwendung der nativen Plattform ermöglicht es uns, auf Registerebene (bei Bedarf sogar auf Baugruppenebene) zu arbeiten, wodurch das Programm speichereffektiver wird. Aus diesem Grund haben wir das STM8S Microcontroller-Tutorial gestartetDie Wahl der Plattform fiel auf STVD und Cosmic C Compiler, die beide kostenlos heruntergeladen und verwendet werden können. Leider ist der STVD eine sehr alte IDE und es fühlt sich an wie in den 90ern, wenn man damit arbeitet. Darüber hinaus ist das STVP-Programmierwerkzeug nicht gut in IDE integriert und muss separat verwendet werden. Dies erhöht die Kompilierungs- und Uploadzeit und macht das Entwickeln und Debuggen zu einem Problem.
Ich habe nach Alternativen gesucht und da kam die Arduino IDE zur Rettung. Mit einem Tool namens Sduino von Michael Mayor können wir die STM8-Mikrocontroller (die meisten der gängigen) einfach über die Arduino IDE direkt programmieren. Die Einrichtung und der Einstieg dauern nur wenige Minuten. Interessanter ist, dass Sduino neben der Unterstützung der Arduino-Programmierung auch die Verwendung der Standard Peripheral Library (SPL) ermöglicht. Mit anderen Worten, wir können fast dasselbe Programm auf STVD in die Arduino IDE kompilieren. Obwohl das Sduino ein cooles Tool ist, befindet es sich noch in der Entwicklung und muss noch viele der Arduino-Bibliotheken und -Funktionen unterstützen. Lassen Sie uns lernen, wie Sie Arduino IDE mit dem STM8S103F Development Board verwenden.Wenn Sie mit diesem Board noch nicht vertraut sind, lesen Sie die ersten Schritte mit dem STM8S103F-Lernprogramm. Neben dem STM8S103F unterstützt Sduino auch andere STM8S-Mikrocontroller wie STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 usw. Die in diesem Lernprogramm erläuterte Vorgehensweise ist für alle gleich.
Einrichten der Arduino IDE
Schritt 1: Wenn Sie mit der Arduino-Umgebung völlig neu sind, laden Sie Arduino basierend auf Ihrem Betriebssystem herunter und installieren Sie es.
Schritt 2: Folgen Sie Datei -> Einstellungen , um das Einstellungsfenster zu öffnen, fügen Sie den unten angegebenen Link in das Textfeld URL-Verwaltung für zusätzliche Boards ein und klicken Sie auf OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Schritt 3: Folgen Sie Tools -> Board -> Board Manager , um das Dialogfeld Board Manager zu öffnen und nach „sduino“ zu suchen. Klicken Sie auf Installieren und schließen Sie das Dialogfeld nach Abschluss der Installation.
Schritt 4: Starten Sie die IDE neu und folgen Sie dann Tools -> Board -> STM8S103F3 . Sie können andere Boards auswählen, wenn Sie ein anderes Entwicklungsboard haben.
Jetzt kann die Arduino IDE das STM8S103F3 Development Board programmieren. Lassen Sie uns die Karte einrichten, an den Computer anschließen und ein einfaches LED-Blinken programmieren.
Einrichten der STM8S103F3-Karte für die Arduino IDE-Programmierung
Verbinden Sie den ST-Link V2 wie unten gezeigt mit der Entwicklungsplatine.
Die Verbindungen sind ziemlich einfach und das Beste daran ist, dass Sie keine externen Komponenten benötigen. Mein Hardware-Setup für die Programmierung ist unten dargestellt. Ich habe gerade die weiblichen Header-Drähte verwendet, um meine Verbindung herzustellen. Beachten Sie jedoch, dass die Pinbelegung Ihres ST-Links von meiner abweichen kann. Befolgen Sie vor dem Herstellen der Verbindungen unbedingt die Pinbelegung auf dem Gerät.
Stellen Sie die Verbindung her und verbinden Sie das Gerät mit Ihrem Computer. Die Treiberinstallation sollte automatisch beginnen. Mit dem Geräte-Manager können Sie sicherstellen, dass Ihr Computer ST-LINK V2 korrekt erkannt hat. Sie werden auch feststellen, dass die Test-LED auf der Karte blinkt, wenn die Karte zum ersten Mal mit Strom versorgt wird.
LED blinkt auf STM8S103F3 mit Arduino
Für ein einfaches Blinken der LED können wir jetzt das Blinkprogramm aus dem Beispielabschnitt verwenden. Folgen Sie Datei -> Beispiel -> Generisches_Beispiel -> Grundlagen -> Blinken .
Das vollständige Programm zum Blinken der integrierten LED ist unten dargestellt.
void setup () {// initialisiere den digitalen Pin LED_BUILTIN als Ausgang. pinMode (LED_BUILTIN, OUTPUT); } // die Schleifenfunktion läuft immer wieder für immer void loop () {digitalWrite (LED_BUILTIN, HIGH); // LED einschalten (HIGH ist der Spannungspegel) delay (1000); // warte auf ein zweites digitalWrite (LED_BUILTIN, LOW); // Schalten Sie die LED aus, indem Sie die Spannung auf LOW verzögern (1000). // warte mal eine Sekunde }
Wie Sie sehen können, ist dies dem Arduino-Blinkprogramm sehr ähnlich. Stellen Sie zum Hochladen des Programms sicher, dass Ihre Karte wie oben beschrieben über st-link v2 verbunden ist, und wählen Sie den Programmierer wie unten gezeigt als „ST-Link / V2“ aus.
Hinweis: Im Gegensatz zu Arduino-Karten müssen Sie nicht den richtigen COM-Anschluss für die Programmierung der Karte auswählen. Sie verwenden den COM-Anschluss nur für die serielle Kommunikation.
Sobald der COM-Port ausgewählt ist, ist das Hochladen des Codes ebenfalls sehr einfach. Drücken Sie einfach die Upload-Taste (unten rot eingekreist) und der Code wird kompiliert und automatisch auf unser Board hochgeladen.
Das heißt, das Programm wird direkt auf die Karte hochgeladen und die integrierte LED sollte blinken. Keine externe Upload-Software, nichts. So einfach ist das. Sie können das Video unten auf dieser Seite für die Arbeit überprüfen.
Arduino Pin Mapping für STM8S103F3
Wenn Sie von hier aus fortfahren möchten, müssen Sie wissen, wie Sie jeden Pin auf der STM8S103F3-Entwicklungsplatine adressieren. Die Pin-Zuordnung kann aus diesem Bild unten verstanden werden.
Aus dem Schaltplan der STM8S103F3-Karte wissen wir beispielsweise, dass die integrierte LED an PB5 angeschlossen ist. Um diesen Pin auf Arduino zu adressieren, müssen wir 3 verwenden, daher kann das Programm wie folgt geschrieben werden:
void setup () {// initialisiere den digitalen Pin LED_BUILTIN als Ausgang. PinMode (3, OUTPUT); } // die Schleifenfunktion läuft immer wieder für immer void loop () {digitalWrite (3, LOW); // LED einschalten (HIGH ist der Spannungspegel) delay (1000); // warte auf ein zweites digitalWrite (3, HIGH); // Schalten Sie die LED aus, indem Sie die Spannung auf LOW verzögern (1000). // warte mal eine Sekunde }
Kompilieren von SPL-Bibliotheken in Arduino IDE
Wie bereits erwähnt, können wir die SPL-Bibliothek auch in Arduino IDE verwenden. Wenn Sie sich erinnern, haben wir in unserem vorherigen STM8S GPIO-Tutorial einen Code geschrieben, um die integrierte LED und auch eine externe LED mit dem Druckknopf zu blinken. Der gleiche Code mit sehr wenigen Änderungen kann auch auf Arduino kompiliert werden. Der geänderte Code wird unten angezeigt.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // Port A für die Arbeit vorbereiten GPIO_DeInit (GPIOB); // Port B für die Arbeit vorbereiten // PA2 als Pull-Up-Pin für den Eingang deklarieren GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // PA3 als Push Pull Output Pin GPIO_Init deklarieren (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // PB5 als Push-Pull-Ausgangspin GPIO_Init deklarieren (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // if Taste gedrückt GPIO_WriteLow (Green_LED); // LED AN sonst GPIO_WriteHigh (Green_LED); // LED AUS GPIO_WriteReverse (GPIOB, GPIO_PIN_5); Verzögerung (100); }}
Der Abschluss der Arduino IDE zusammen mit dem Sduino ist eine sehr gute Option, wenn Sie Ihre Entwicklung mit STM8S beschleunigen möchten. Die Plattform befindet sich jedoch noch in der Entwicklung und viele Arduino-Bibliotheken müssen noch unterstützt werden. Dennoch, wenn Sie tief in die Entwicklung eintauchen und dazu beitragen möchten, wäre es großartig. Um zu lernen, werde ich die Tutorial-Reihe mit STVD und Cosmic C Compiler fortsetzen.