{"id":528,"date":"2026-05-25T11:17:53","date_gmt":"2026-05-25T11:17:53","guid":{"rendered":"https:\/\/mike-netz.biz\/?p=528"},"modified":"2026-05-25T11:17:55","modified_gmt":"2026-05-25T11:17:55","slug":"der-pfad-von-c-zu-embedded-c-fuer-mikrocontroller","status":"publish","type":"post","link":"https:\/\/mike-netz.biz\/?p=528","title":{"rendered":"Der Pfad von C zu Embedded C++ f\u00fcr Mikrocontroller"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">Viele Mikrocontroller-Projekte starten in C. Das ist verst\u00e4ndlich: C ist klein, direkt und im Embedded-Bereich weit verbreitet. Gleichzeitig wachsen Firmware-Projekte mit der Zeit. Strukturen werden komplexer, Abh\u00e4ngigkeiten schwerer sichtbar und \u00c4nderungen riskanter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">F\u00fcr diesen \u00dcbergang habe ich ein kleines GitHub-Projekt ver\u00f6ffentlicht: <a href=\"https:\/\/github.com\/embmike\/the-path-from-c-to-cpp-for-microcontrollers\">the-path-from-c-to-cpp-for-microcontrollers<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Worum geht es?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">Das Repository beschreibt einen praktischen Lernpfad von C zu Embedded C++ f\u00fcr Mikrocontroller-Software. Im Mittelpunkt steht kein vollst\u00e4ndiges C++-Lehrbuch, sondern ein kleiner, deterministischer und gut testbarer Teil von C++, der sich f\u00fcr Firmware-Projekte eignet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">Der Ansatz ist bewusst schrittweise: Bestehender C-Code soll nicht auf einmal umgebaut werden. Stattdessen werden einzelne Teile kontrolliert als C++ \u00fcbersetzt, das Verhalten nach jedem Schritt \u00fcberpr\u00fcft und ausgew\u00e4hlte C-Muster nach und nach durch einfache Embedded-C++-Idiome ersetzt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was behandelt der Leitfaden?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">Der Leitfaden behandelt unter anderem typisierte Konstanten, feste Datenstrukturen, kleine Klassen, klare Schnittstellen an Hardware-Grenzen und host-testbare Logik. Gleichzeitig bleiben typische Embedded-Anforderungen im Blick: deterministisches Laufzeitverhalten, keine unkontrollierte Heap-Nutzung und keine versteckten Kosten in zyklischen Kontrollpfaden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">F\u00fcr wen ist das gedacht?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">Das Projekt richtet sich an Embedded-Entwickler, die aus der C-Welt kommen und C++ nicht als gro\u00dfe Abstraktionsmaschine einsetzen m\u00f6chten, sondern als Werkzeug f\u00fcr bessere Struktur, st\u00e4rkere Typisierung und wartbarere Firmware.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">Die Beispiele verwenden einen Pumpensteuerungs-Kontext, weil dieser leicht verst\u00e4ndlich ist und viele typische Aufgaben aus eingebetteten Steuerungssystemen abbildet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GitHub-Projekt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\">Das Repository enth\u00e4lt eine englische und eine deutsche Version des Leitfadens. Der direkte Einstieg ist hier m\u00f6glich:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"color:#000000;\"><a href=\"https:\/\/github.com\/embmike\/the-path-from-c-to-cpp-for-microcontrollers\">https:\/\/github.com\/embmike\/the-path-from-c-to-cpp-for-microcontrollers<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Viele Mikrocontroller-Projekte starten in C. Das ist verst\u00e4ndlich: C ist klein, direkt und im Embedded-Bereich weit verbreitet. Gleichzeitig wachsen Firmware-Projekte mit der Zeit. Strukturen werden komplexer, Abh\u00e4ngigkeiten schwerer sichtbar und \u00c4nderungen riskanter. F\u00fcr diesen \u00dcbergang habe ich ein kleines GitHub-Projekt<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[20,34,36,37,32,21],"class_list":["post-528","post","type-post","status-publish","format-standard","hentry","category-software-entwicklung","tag-c","tag-c-2","tag-embedded-c","tag-firmware","tag-github","tag-mikrocontroller"],"_links":{"self":[{"href":"https:\/\/mike-netz.biz\/index.php?rest_route=\/wp\/v2\/posts\/528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mike-netz.biz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mike-netz.biz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mike-netz.biz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mike-netz.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=528"}],"version-history":[{"count":1,"href":"https:\/\/mike-netz.biz\/index.php?rest_route=\/wp\/v2\/posts\/528\/revisions"}],"predecessor-version":[{"id":529,"href":"https:\/\/mike-netz.biz\/index.php?rest_route=\/wp\/v2\/posts\/528\/revisions\/529"}],"wp:attachment":[{"href":"https:\/\/mike-netz.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mike-netz.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mike-netz.biz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}