{"id":8174,"date":"2021-12-01T16:50:22","date_gmt":"2021-12-01T16:50:22","guid":{"rendered":"https:\/\/www.fambach.net\/?p=8174"},"modified":"2026-10-04T20:09:48","modified_gmt":"2026-10-04T20:09:48","slug":"praeprozessor-direktiven","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/praeprozessor-direktiven\/","title":{"rendered":"Preprocessor directives"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Contents\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/praeprozessor-direktiven\/#Konstanten_definieren\" >Konstanten definieren<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/praeprozessor-direktiven\/#Boardkonstanten\" >Boardkonstanten<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/praeprozessor-direktiven\/#Quellen\" >Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"konstanten-definieren\"><span class=\"ez-toc-section\" id=\"Konstanten_definieren\"><\/span>Konstanten definieren<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00e4prozessor Konstanten werden mit dem #define Befehl erstellt. Diese k\u00f6nnen einfach nur als Name existieren, wie im Folgenden zu sehen ist:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#define KONSTANTEN_NAME<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">oder sie k\u00f6nnen mit einem Wert versehen werden. Der Pr\u00e4prozessor f\u00fcgt dann an jeder Stelle, an der der Konstantenname verwendet wird, den entsprechenden Wert ein.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#define ONE 1\n#define ERROR \"Du bist nicht dumm!\"\n\n\n\n\/\/ sp\u00e4ter im code\nif(ONE == 1){              \/\/ nachdem der Pr\u00e4prozessor gearbeitet -&gt; if(1 == 1)\n   Serial.println(ERROR);  \/\/ Ausgabe ist \"Du bist nicht dumm!\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Auch Ausdr\u00fccke sind m\u00f6glich:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#define ZWEI_QUADRAT ( 2*2 )<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ob eine Konstante definiert wurde, kann mit der #ifdef Pr\u00e4prozessoranweisung erfragt werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#ifdef KONSTANTEN_NAME\n\n.... irgendetwas tolles machen ....\n\n#endif<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Zul\u00e4ssig ist auch <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#if DEFINED (KONSTANTEN_NAME)\n\n.... irgendetwas tolles machen ....\n\n#endif<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mehr kommt irgendwann mal, falls ihr noch etwas wissen wollt, einfach einen Kommentar dalassen, dann erweitere ich diesen Beitrag.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"boardkonstanten\"><span class=\"ez-toc-section\" id=\"Boardkonstanten\"><\/span>Boardkonstanten<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ARDUINO_AVR_UNO<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ARDUINO_AVR_NANO<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ARDUINO_AVR_MEGA1280<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ARDUINO_AVR_MEGA2560<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"quellen\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Sources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hatte den Inhalt im Kopf, aber nicht die Quellen. Ich vermute jedoch, dass das Grundwissen aus dem Buch Thinking in C++ und The C Programming Language von Kernighan und Ritchie stammt, hier die Links zur Wikipedia:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/de.wikipedia.org\/wiki\/The_C_Programming_Language\" class=\"ub-content-link__anchor\">https:\/\/de.wikipedia.org\/wiki\/The_C_Programming_Language<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/de.wikipedia.org\/wiki\/Bruce_Eckel\" class=\"ub-content-link__anchor\">https:\/\/de.wikipedia.org\/wiki\/Bruce_Eckel<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Konstanten definieren Pr\u00e4prozessor Konstanten werden mit dem #define Befehl erstellt. Diese k\u00f6nnen einfach nur als Name existieren, wie im Folgenden zu sehen ist: oder sie k\u00f6nnen mit einem Wert versehen werden. Der Pr\u00e4prozessor f\u00fcgt dann an jeder Stelle, an der der Konstantenname verwendet wird, den entsprechenden Wert ein. Auch Ausdr\u00fccke sind m\u00f6glich: Ob eine Konstante &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/praeprozessor-direktiven\/\" class=\"read-more-link\">Carry on reading <span class=\"screen-reader-text\">\"Pr\u00e4prozessor-Direktiven\"<\/span> <span class=\"meta-nav\">\u2192<\/span><\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"no","footnotes":""},"categories":[184],"tags":[548,549,547,497,35,546,313],"class_list":["post-8174","post","type-post","status-publish","format-standard","hentry","category-c-c","tag-define-2","tag-endif","tag-if","tag-c-2","tag-c","tag-define","tag-praeprozessor","penguin-post","penguin-post-not-sticky"],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=8174"}],"version-history":[{"count":8,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8174\/revisions"}],"predecessor-version":[{"id":18017,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8174\/revisions\/18017"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=8174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=8174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=8174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}