Projekt 11
STM32- & Arduino-Embedded-Systeme
Hardwarenahe Embedded-Software rund um synchrone Sensordatenerfassung, latenzarme Ausgabe auf lokale Displays und einen zuverlässigen Kommunikationsstandard zwischen Mikrocontrollern.
- Kategorie
- Embedded & Robotik
- Rolle
- Embedded-Softwareentwickler
- Jahr
- 2025 – 2026
verwendete technologien
- C
- C++
- STM32
- ARM Cortex-M
- Arduino
- I2C/SPI/UART
problem
Problem
Auf Hardwareebene mussten Sensordaten wie Temperatur, Beschleunigung und Abstand synchron erfasst, mit geringer Latenz auf lokale Displays geschrieben und ein zuverlässiger Kommunikationsstandard zwischen Mikrocontrollern etabliert werden.
lösung
Lösung
Mit C und C++ habe ich auf STM32 mit den HAL/LL-Bibliotheken sowie auf dem Arduino Uno register- und treiberseitig programmiert. Über I2C, SPI und UART habe ich Kommunikationstreiber für SSD1306-OLED-Displays und verschiedene Sensormodule entwickelt und die Leseschleife auf Interrupts und Timer aufgebaut.
ergebnis
Ergebnis
Entstanden sind stabile Hardware-Prototypen ohne Blockaden, interruptgesteuert und fähig zu Echtzeit-Datenerfassung und -Visualisierung.
wichtigste funktionen
- 01Register- und treiberseitige Programmierung auf STM32 mit den HAL/LL-Bibliotheken.
- 02Kommunikationstreiber für SSD1306-OLED-Displays und Sensormodule über I2C, SPI und UART.
- 03Echtzeit-Leseachitektur, gesteuert über Interrupts und Timer, immun gegen Blockaden.
- 04Speicher- und Codeoptimierung für geringen Stromverbrauch und Echtzeit-Reaktionszeiten.
warum diese entscheidungen
Warum interruptgesteuertes Lesen statt Polling?
Eine kontinuierliche Abfrageschleife beschäftigt die CPU des Mikrocontrollers ohne Nutzen, und jedes Signal, das zwischen zwei Abfragen fällt, geht verloren. Der Wechsel zu Hardware-Interrupts und timerbasiertem periodischem Lesen entlastete die CPU und erfasste Signale ohne Verlust.
Warum Code auf HAL/LL-Ebene?
Fertige Bibliotheken liefern schnelle Ergebnisse, verbergen aber, was die Hardware tatsächlich tut. Die Arbeit auf Registerebene machte Timing- und Energieverhalten direkt steuerbar und erlaubte es, Probleme durch Messung statt durch Vermutung zu lösen.