1.0 Arduino für STM32 Überblick

Stoffverteilung entsprechend dem Bildungsplan Jahrgangsstufe 1 TGI Baden Württemberg. NUCLEO L152RE Synopsis: [stm32l152re-Überblick] [Referenz-Manual RM008] [Datenblatt stm32l152re] [API stm23duino] Beschafft bei reichelt.de Pin Belegung Grüne LED an PA5 (D13) , Blauer UserButton an PC13 mit PullUp-Widerstand und ist entprellt. Mit analogWrite(Pin,Wert) können nur die 6 von Arduino vorgesehenen Pins verwendet werden. Aduino Pin STM32 Pin…

1.1 Einstieg in Arduino für STM32

Forum der STM32 Boardleute: https://www.stm32duino.com Anleitung für MacOS Arduino Software laden und installieren.Unter Voreinstellungen zusätzliche Boardverwalter-URL eingeben damit die Erweiterung gefunden wird:https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json Arduino-IDE NEU Starten => Dann wird Eintrag unter Voreinstellungen erst aktiv!​DANN In den Boardverwalter gehen und STM32 MCU based borads installierenWerkzeuge => Board => Boardverwalter => STM32 => Installieren Das richtige Board auswählen:Werkzeuge…

1.1b Bitschubserei

Synopsis: [MezData: Ausdrücke und Operatoren] [SPS-Logik-Simulation] Hinweise: Zur Veranschaulichung habe ich hier unsigned char a; // 8 Bit ohne Vorzeichen verwendet. In den [] Klammern stehen Ausdrücke mit dem gleichen Effekt. Bits verschieben (Bitshift) Jede Stelle nach links schieben << multipliziert mit 2. Jede Stelle nach rechts schieben >> dividiert durch 2, Nachkommastellen werden abgeschnitten….

1.1d 🚧 C Datentypen für Arduino

Einfache Datentypen Die Tabelleninhalte wurden für STM32 Arduino mit Testsoftware ermittelt. Es gibt Unterschiede in der Interpretation der Datentypen bei verschiedenen Compilern und µCs. In C/C++ hat es daher zusätzliche Datentypen, mit denen Vorzeichenbehaftung und Bitbreite compilerunabhängig festgelegt werden können. Datentyp #Bits #Werte Wertebereich entspricht Bemerkung bool 8 2 false (=0), true (≠0) char (ist…

1.1p 🚧 printf, sprintf

Formatiertes Ausgeben von Werten Tests mit Java Ausgabe Test mit Arduino STM32 Bei dem Testprogramm wird ab Floating Point normalerweise nur noch Mist ausgegeben!Das liegt daran, dass die Verarbeitung von Fließkommaformatierungen recht viel Programmspeicher (ca. 2,5 KiByte) benötigen würde und bei den kleinen µC dies vermieden werden sollte, so wurde der Code für Float Printf…

1.1s Spickzettel

Sammlung für die lokale Formelsammlung 🤠. Beispielsketch Sketch nennt man bei Arduino die Entwürfe für ein Programm. Ein Sketch ist eine Textdatei z.B. “Beispiel” mit der Endung .ino also Beispiel.ino. Die Datei muss sich in einem gleichnamigen Ordner hier Beispiel befinden. Dafür #define Die Pins am µC haben Bezeichnungen wie D13 oder PC13. Damit die…

1.1x STM32 GPIO Ports

Hier eine etwas vereinfachte Betrachtung, für Details Doku lesen: [Referenz Manual rm0038 S183ff.] [Datenblatt stm32l152re S92] [STM32-API] Prinzip-Schaltbild für einen I/O-Pin Veranschaulichung I/O Pin Teilschaltung mit Digital Einstieg in die Vielfalt der Einstellmöglichkeiten. Jeder Pin kann als General Purpose Input/Output  (Allzweckeingabe/-ausgabe) oder mit einer alternativen Funktion verwendet werden. Im Vergleich mit dem oberen Blockschaltbild fehlen…

1.2 Aufgaben zum Einstieg

SOS ausgeben mit BoardLED D13. … – – – … Auf der BoardLED 13 soll ein SOS-Blinken ausgegeben werden.Hier das Zeitschema zur Ausgabe. Mit einer Variable int dit soll die Dauer des kurzen Signals einstellbar sein.Zum Testen usw. https://morsedecoder.comErstellen Sie ein Programm, ein dit soll die Länge 200ms haben. Hier ein paar Anregungen: String ausgeben…

1.3 Zustandsdiagramm

Benötigte Hilfsmittel: TGI-Formelsammlung, Software Umlet, Anleitung zu Umlet: Tipp: Um Diagramme automatisch in der passenden Größe dar zu stellen: style=autoresize Fußgängerampel mit UML-Zustandsdiagramm entwickeln Die [Fußgängerampel] wird mit UML-Zustandsdiagramm erneut entwickelt. Schauen Sie sich den alten Lösungs-Quellcode noch einmal an. Aus der Digitaltechnik kennen Sie ja bereits Zustandsdiagramme, sie sind ein praktisches Werkzeug um Automaten…

1.4 Interrupts

Die BOARD_LED an PA5 (D13) soll bei Betätigung vom Board-Taster USER_BUTTON an PC13 immer langsamer blinken. Der Taster ist entprellt und Low aktiv. ❓ Wenn die Zeit länger wird, bewirkt ein kurzer Tastendruck oft keine Veränderung mehr. Warum? Lösung: Taster öfter überprüfen Immer wieder vorbeischauen ob der Taster gedrückt wurde nennt man Polling auf den…