Was ist der Zweck des C++-Qualifizierers volatile
, was hat er mit Race-Conditions zu tun und was sind Heisenbugs?

Alles über Programmierung
Was ist der Zweck des C++-Qualifizierers volatile
, was hat er mit Race-Conditions zu tun und was sind Heisenbugs?
Das Bild in diesem Beitrag stammt von Thomas von Pixabay.
Wie kann man mehrere I2C-Geräte mit der gleichen Geräteadresse an eine MCU anschließen? Meistens wird empfohlen, Hardware-Lösungen zu verwenden. Hier werden wir uns ansehen, wie man das Problem mit der FlexWire-Bibliothek per Software lösen kann.
Weiter lesenDas Bild in diesem Blogpost stammt vom Benutzer18526052 auf Freepik.
Die Wire-Bibliothek verbindet deinen Arduino mit Sensoren und Aktoren, die über das I2C-Protokoll kommunizieren. Leider hat diese Bibliothek viele Unzulänglichkeiten, und oft möchtest du sie durch eine andere I2C-Bibliothek ersetzen. Die Wire-Bibliothek projektbezogen (also nur für einen Sketch) zu ersetzen, erweist sich als komplizierter, als man erwarten würde. In diesem Blogbeitrag beschreibe ich eine einfache Methode, um das zu erreichen.
Weiter lesenDas Titelbild dieses Beitrags basiert auf einem Bild von TheDigitalArtist auf Pixabay.
Link-Zeit-Optimierung (LTO) ist eine sehr leistungsfähige Compiler-Optimierungstechnik. Wie ich feststellen musste, ist LTO nicht verträglich mit dem Debuggen objektorientierter Programme unter GCC, zumindest für AVR-MCUs. Ich bemerkte das im Zusammenhang mit dem Debuggen eines Arduino-Programms und es dauerte eine ganze Weile, bis feststellte, dass LTO hier der Schuldige ist.
Weiter lesenObwohl der typische Arduino-Nutzer vermutlich kein Interesse an Assembler-Programmierung hat, kann man in einigen Situationen nicht darauf verzichten. Werfen wir einen Blick auf diese Situationen und schauen, was man tun kann.
Weiter lesenCopyright © 2025 Arduino-Bastelecke
Thema von Anders Noren — Hoch ↑