{"id":8174,"date":"2021-12-01T16:50:22","date_gmt":"2021-12-01T16:50:22","guid":{"rendered":"https:\/\/www.fambach.net\/?p=8174"},"modified":"2023-03-14T20:06:02","modified_gmt":"2023-03-14T20:06:02","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_73 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 Content\"><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\" title=\"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\" title=\"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\" title=\"Sources\">Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Konstanten_definieren\"><\/span>Konstanten definieren<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pr\u00e4prozessor Konstanten werden mit dem #define Befehle erstellt. Diese k\u00f6nnen einfach nur als Name exisitieren 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>oder sie k\u00f6nnen mit einem Wert versehene werden. Der Pr\u00e4prozessor f\u00fcgt dann an jeder Stelle an der, der Konstante name verwendet wird, den entsprechende 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>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>Ob eine Konstante definiert wurd kann mit der #ifdef Pr\u00e4prozessoranweidung 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>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>Mehr kommt irgendwann mal, falls ihr noch etwas wissen wollt einfach einen Kommentar da lassen, dann erweitere ich diesen Beitrag.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Boardkonstanten\"><\/span>Boardkonstanten<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>ARDUINO_AVR_UNO<\/p>\n\n\n\n<p>ARDUINO_AVR_NANO<\/p>\n\n\n\n<p>ARDUINO_AVR_MEGA1280<\/p>\n\n\n\n<p>ARDUINO_AVR_MEGA2560<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Sources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>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 vom Kernigham und Ritchie stammen, hier die links zur Wikipedia:<\/p>\n\n\n\n<p><a href=\"https:\/\/de.wikipedia.org\/wiki\/The_C_Programming_Language\">https:\/\/de.wikipedia.org\/wiki\/The_C_Programming_Language<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/de.wikipedia.org\/wiki\/Bruce_Eckel\">https:\/\/de.wikipedia.org\/wiki\/Bruce_Eckel<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Konstanten definieren Pr\u00e4prozessor Konstanten werden mit dem #define Befehle erstellt. Diese k\u00f6nnen einfach nur als Name exisitieren wie im Folgenden zu sehen ist: oder sie k\u00f6nnen mit einem Wert versehene werden. Der Pr\u00e4prozessor f\u00fcgt dann an jeder Stelle an der, der Konstante name verwendet wird, den entsprechende Wert ein. Auch Ausdr\u00fccke sind m\u00f6glich: Ob eine &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/praeprozessor-direktiven\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"Pr\u00e4prozessor-Direktiven\"<\/span> <span class=\"meta-nav\">&rarr;<\/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],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8174"}],"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":6,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8174\/revisions"}],"predecessor-version":[{"id":9127,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8174\/revisions\/9127"}],"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}]}}