Neuigkeiten

Neu hinzugefügte Artikel

22.04.2021:

MCAL-STM: Kein großes Projekt ohne Tippfehler! In der Datei mcalIIC.c hatte ich in den Zeilen 287/288 versehentlich I2C1->TRISE = 0x0011; bzw. I2C1->CR1 |= I2C_CR1_PE; geschrieben. Korrekterweise muss es natürlich i2c->TRISE = 0x11; und i2c->CR1 |= I2C_CR1_PE; heißen. Der Fehler ist bereits korrigiert, die korrigierte Version der MCAL-STM ist bereits auf https://gitlab.com/rjesse/mcal-stm.git verfügbar. 

21.04.2021:

Heute teile ich Ihnen die Lösungen für die beiden Probleme mit, die ich in den Hinweistexten zu den jeweiligen Kapiteln bereits zugesagt habe.

  1. Unter dem Link 02 - Serielle Datenübertragung mit USART2 finden Sie die versprochene korrigierte Version des USART-Demoprojekts.
  2. Unter dem Link 03 - DAC-Problem finden Sie zudem die Lösung für das DAC-Problem: Dort entsprach das reale Ausgangssignal von Kanal 2 nicht dem erwarteten Signal.

15.04.2021:

Bugfix in timerEnableOutputComparePreload() und timerDisableOutputComparePreload() durchgeführt. Wurde als Parameter TIMIO_CH4 angegeben, so wirkte sich dies aufgrund von Copy & Paste auf TIMIO_CH3 aus. Die neue Version der MCAL-STM finden Sie wieder unter https://gitlab.com/rjesse/mcal-stm.git.

10.04.2021:

Ich habe heute das GitLab-Repository offiziell freigeschaltet. Der Link lautet https://gitlab.com/rjesse/mcal-stm.git. Hinweis: Die Bibliothek MCAL-STM ist noch nicht final, und ich werde sie — mit Ihrer Unterstützung (?) — ständig erweitern und pflegen.

18.03.2021:

Seit der Abgabe des Manuskripts an den Verlag habe ich die MCAL-Bibliothek erheblich erweitert. Unter 01 - Takteinstellung beim STM32F446 mit der MCAL-Bibliothek finden Sie eine Anleitung, wie Sie die Taktfrequenz des Mikrocontrollers jetzt einstellen können. Diese Erweiterung ist erheblich einfacher als die Beschreibung, die ich im Buch verwendet habe.

15.03.2021:

Da die Datei mcalTimer.c inzwischen weit mehr als 50 Funktionen umfasst, erschien sie mir nicht mehr übersichtlich genug. Ich habe diesen Teil daher vollständig umstrukturiert. Eine kurze Beschreibung der Änderungen finden Sie auf der Download-Seite STM32F446 Beispielprojekte.

08.03.2021:

Zwei neue Funktionen in mcalTimer.c/mcalTimer.h aufgenommen. Es handelt sich hierbei um die Funktionen

  • timerEnableOutputComparePreload(TIM_TypeDef *tim, TIMER_CHANNEL_NUM_t chn) und
  • timerDisableOutputComparePreload(TIM_TypeDef *tim, TIMER_CHANNEL_NUM_t chn).

Sie aktivieren bzw. deaktivieren den Preload-Mechanismus im Output-Compare-Mode. STM32F446 Beispielprojekte

07.03.2021:

Kaum ist das Buch erschienen, hat mich ein aufmerksamer Leser bereits auf den ersten Fehler hingewiesen: In der MCAL-STM-Bibliothek war in der Funktion gpioGetPinState() ein 'Bug', den ich umgehend korrigiert habe. Die neue Version der MCAL-STM finden Sie unter dem folgenden Link: STM32F446 Beispielprojekte.

03.03.2021:

Inzwischen ist mein neues Buch „STM32: ARM-Mikrocontroller programmieren für Embedded Systems“ im Handel erhältlich. Getreu dem Untertitel „Das umfassende Praxisbuch“ habe ich besonders den praktischen Einsatz in den Fokus gerückt. Doch was bedeutet dies für Sie? Das wichtigste zuerst: In zahlreichen Beispielen werden — mit Ausnahme einiger Peripheriekomponenten, wie z.B. CAN, SAI oder das Kamera-Interface — nach und nach alle Komponenten eingeführt und anhand von Beispielen in Form von Miniprojekten erklärt. Die Beispielprojekte finden Sie unter dem folgenden Link: STM32F446 Beispielprojekte.

08.11.2020:

In Kürze erscheint mein neues Buch über den Mikrocontroller STM32F446. Für die Programmierung wurde ausschließlich CMSIS verwendet, auf den Einsatz herstellerspezifischer Bibliotheken, wie z.B. der HAL-Bibliothek von STM, wurde vollständig verzichtet. Stattdessen wird im Verlauf des Buches eine eigene Bibliothek entwickelt, der ich den Namen MCAL gegeben habe. MCAL dient als Abkürzung von Microcontroller Abstraction Layer. MCAL wird auch nach dem Erscheinen des Buches ständig weiterentwickelt. Die MCAL basiert vollständig auf den Bezeichnungen (Definitionen und Registernamen), die STM in den Referenzhandbüchern (hier: STM32F446) verwendet.

Den Sourcecode und die Dokumentation der Bibliothek können Sie kostenlos auch für kommerzielle Projekte verwenden! Ich bitte aber darum, Änderungen und Erweiterungen vor einer Weitergabe an Dritte mit mir abzusprechen.

Hinweis:

Obwohl es sich bei den STM32F4xx-Mikrocontrollern um Arm Cortex-M4-MCs handelt, ist dieses Buch ausdrücklich NICHT als ein Cortex-M4-Buch zu verstehen: Wenn Sie ein allgemeines Cortex-M4-Buch erwarten bzw. benötigen, sollten Sie auf ein anderes Buch zurückgreifen (z.B. von Joseph Yiu).

25.07.2018:

Geringfügige Erweiterungen im Abschnitt Elektronik-Grundlagen.

29.08.2017:

Änderung der Adresse im Impressum.

17.04.2017:

Im Beispiel chardev in Kapitel 9 hat sich ein Fehler eingeschlichen. Beachten Sie bitte den entsprechenden Hinweis auf der Errata-Seite.

07.02.2017:

In der Rubrik "Tipps" finden Sie einen Hinweis zu dem Script imagetool-uncompressed.py, dessen Verwendung bisher optional war. Beim Raspberry Pi 3 führte die Verwendung dieses Scripts bei einem Leser sogar dazu, dass der Kernel nicht mehr kompilierbar war!

06.01.2017:

KDevelop 5.0.3 als AppImage verfügbar. Nähere Informationen finden Sie hier: KDevelop.

05.01.2017:

Änderung des Tastaturlayouts für die bash-Shell bei Raspbian-Versionen mit der neuen Benutzeroberfläche Pixel. Details finden Sie hier: Tipps.

04.01.2017:

Gelöst: Probleme beim Zugriff auf USB-Geräte aus dem Gastsystem unter VirtualBox 5.1.12. Siehe auch VirtualBox.

22.11.2016:

Ab sofort erfolgt der Zugriff auf diese Website verschlüsselt. Sollten Sie bisher über http://www.ralf-jesse.de auf diese Website zugegriffen haben, so erfolgt dies nun über https://www.ralf-jesse.de.

20.10.2016:

Neue Rubrik "Tipps" eingeführt.

Der erste Beitrag befasst sich mit dem Thema "Versorgungsspannung zu niedrig", was durch ein kleines buntes Quadrat (ähnlich dem Rainbow-Screen) in der rechten oberen Ecke des Bildschirms angezeigt wird.

25.09.2016:

Die Sektion "Errata --> Embedded Linux" wurde aufgrund eines Leserhinweises um eine Abgrenzung zwischen Mikrocontroller und SoC ergänzt.

21.08.2016:

Erweiterung der Errata-Sektion. Hier wird eine Komfortfunktion beschrieben, die die Verwendung der Shellscripte domake und mktest überflüssig macht.

11.08.2016:

Der Artikel Induktive Lasten wurde erweitert.

24.07.2016:

Abschnitt "Elektronik-Grundlagen": Schalten induktiver Lasten (Induktive Lasten)

23.07.2016:

Abschnitt Tools -> Entwicklungsumgebungen: KDevelop abgeschlossen.

22.07.2016:

Abschnitt Tools -> Entwicklungsumgebungen: KDevelop begonnen

21.07.2016:

Abschnitt "Elektronik-Grundlagen": Schalten kleinerer und größerer Ströme

19.07.2016:

Abschnitt "Elektronik-Grundlagen": Schalten kleinerer und größerer Ströme

15.06.2016:

Im Menü Tools wurde unter Entwicklungsumgebungen (IDEs) die (fast) vollständige Konfiguration von Code::Blocks hinzugefügt. Hier fehlt jetzt nur die Konfiguration des Cross-Debuggers, die aber im gleichen Menü unter Debugger verfügbar ist.

02.06.2016:

Im Menü "Tools" wurde der Eintrag "Debugging" freigeschaltet. Neben einer kurzen Beschreibung bietet die verlinkte Webseite Debugger die Möglichkeit zum kostenlosen Download eines Extrakapitels in zwei Teilen. Hiermit möchte ich zwei Ziele erreichen:

  • Lesern der ersten Auflage des Buches möchte ich hiermit meinen Dank für den Kauf des Buches aussprechen: Sie sollen nicht Opfer meiner "Schlampigkeit" bzw. Vergesslichkeit sein ;-).
  • Noch unentschlossenen Interessenten biete ich hiermit ein Probekapitel an, damit Sie meinen Schreibstil kennen lernen und damit besser bewerten können, ob sich ein Kauf des Gesamtwerks für sie lohnt.

29.05.2016:

Kurzbeschreibung von Code::Blocks hinzugefügt (Code::Blocks).

"Verbindung" herstellen zwischen Code::Blocks und der Cross-Toolchain.

19.05.2016:

Seite 115 im Buch "Embedded Linux". Dort wird der Download der Linaro-Cross-Toolchain von der Website http://gnutoolchains.com/raspberry empfohlen. Dieser Link ist anscheinend nicht mehr gültig. Der Download kann nun von https://github.com/raspberrypi/tools erfolgen. Der Download erfolgt mit dem Kommando

git clone https://github.com/raspberrypi/tools/* .

Der abschließende Punkt ist kein Satzzeichen! Er bestimmt das Verzeichnis, in dem das Kommando ausgeführt wird, als Zielverzeichnis für den Download.

Beachten Sie auch den entsprechenden Punkt in der Errata-Sektion.

-----

Download und Installation der Linaro-Toolchain beschrieben

-----

Neu aufgenommen --> Tools --> Toolchains

08.05.2016:

Layout modernisiert

15.04.2016:

Einfache Halbleiter, Dioden fortgesetzt und abgeschlossen

14.04.2016:

Einfache Halbleiter, Dioden angefangen

13.04.2016:

Arbeit, Leistung und Wirkungsgrad fertiggestellt

12.04.2016:

Arbeit, Leistung und Wirkungsgrad angefangen

Errata nochmals erweitert

11.04.2016:

Errata erweitert für Kapitel 5 und 6

29.03.2016:

Errata

28.03.2016:

Kirchhoffsche Gesetze

26.03.2016:

Ohmsches Gesetz

Leitfähigkeit/Temperatureinfluss

Messen von Strom und Spannung

24.03.2016:

Projekte/Downloads (Beispielprojekte zum Herunterladen)

23.03.2016:

Der Gleichstromkreis