Programmierung der wichtigsten Peripherie-Komponenten des STM32F4xx-Chips Digitale und
analoge I O-Ports (GPIOs) Timer und Counter serielle Schnittstellen (USARTs UARTs SPI und
I2C) ADCs und DACs Direct Memory Access (DMA) Zahlreiche praktische Anwendungsbeispiele
Dieses Buch bietet einen umfassenden Praxiseinstieg in die Softwareentwicklung für Embedded
Systems mit der ARM-Mikrocontrollerfamilie STM32F4xx der Firma STMicroelectronics (STM). Für
die Programmierung wird die Sprache C eingesetzt. Der Autor behandelt die wichtigsten
Peripherie-Komponenten dazu gehören digitale und analoge I O-Ports (GPIOs) Timer und Counter
serielle Schnittstellen (USARTs UARTs SPI und I2C) ADCs und DACs RTC (Echtzeit-Uhr) sowie
Direct Memory Access (DMA). Anhand einfacher Beispiele zeigt der Autor den praktischen
Einsatz dieser Komponenten. Hierzu zählen die Abfrage von Uhrzeit und Datum von einer externen
RTC (über I2C) sowie deren Anzeige über SPI auf einfachen Displays. Im Verlauf des Buchs
entsteht so eine Bibliothek deren Funktionen für eigene Projekte auf einfache Weise eingesetzt
werden können. Die Beispiele werden auf dem Evaluierungsboard NUCLEO-64 mit dem STM32F446
unter Einsatz der STM32CubeIDE-Entwicklungsumgebung entwickelt und getestet. Grundlegende
Kenntnisse der Programmiersprache C werden vorausgesetzt. Alle Beispiele folgen dem
MISRA-C-Standard dessen Anwendung in der Automobilindustrie vorgeschrieben ist. Dieser wird in
einem separaten Kapitel vorgestellt und sorgt für gut verständlichen und somit leicht zu
pflegenden Code. Der Fokus liegt auf der »baremetal«-Programmierung was den Umstieg auf
Mikrocontroller anderer Hersteller erleichtert. Auf den Einsatz der HAL-Bibliothek wird
ausdrücklich verzichtet. Aus dem Inhalt: Typische GPIO-Anwendungen (Input Output
Alternative Funktionen) Timer: Systick Basic General Purpose Advanced Control Timer PWM:
Dimmen von LEDs mit Timern A D- und D A-Wandlung Serielle Kommunikation mit UARTs USARTs
I2C SPI Porterweiterung mit I2C (PCF8574) Ansteuerung von LC-Displays 7-Segment-Anzeigen
über SPI (MAX7219) Einsatz einer externen Echtzeituhr (RTC) DS3231 über I2C