{"id":476,"date":"2009-09-19T10:30:31","date_gmt":"2009-09-19T10:30:31","guid":{"rendered":"http:\/\/dl8stw.wordpress.com\/?p=476"},"modified":"2009-09-19T10:30:31","modified_gmt":"2009-09-19T10:30:31","slug":"arm-io-testprogramm","status":"publish","type":"post","link":"http:\/\/www.dl8stwblog.freiraumwelle.de\/?p=476","title":{"rendered":"ARM I\/O Testprogramm"},"content":{"rendered":"<p>Ich habe f\u00fcr das ARM Evalboard mein ein kleines I\/O Testprogramm geschrieben. Das Programm ist nix wildes. Es schaltet die LED an Pin PI0 ein. \u00dcber den Schalter an PH1 werden dann die LEDs an Pins abwechselnd ein und aus. <br \/>\nWas man noch verbessern k\u00f6nnte ist den Schalter zu entprellen aber ich wollte das Programm m\u00f6glichst einfach und \u00fcbersichtlich halten.<br \/>\nVielleicht kann der ein oder andere sich so ja was abgucken.<br \/>\nF\u00fcr Verbesserungsvorschl\u00e4ge bin ich nat\u00fcrlich auch gerne zu haben&#8230; ich will ja auch noch was lernen:<\/p>\n<p>\/*****************************************************************************\/<br \/>\n\/* test.c: Simple IO Tester                                                   *\/<br \/>\n\/******************************************************************************\/<br \/>\n\/* KEIL MCBTMPM330 IO TEST Software by DL8STW\t\t\t\t\t\t\t\t  *\/<br \/>\n\/******************************************************************************\/<\/p>\n<p>#include &#8222;TMPM330.H&#8220;                    \/\/ TMPM330 definitions<\/p>\n<p>int main (void) {                       \/\/ Main Program<\/p>\n<p>short int mem=0;\t\t\t\t\t\t\/\/ Memory for LED status<\/p>\n<p>  SystemInit();\t\t\t\t\t\t\t\/\/ SystemInit Funktion<\/p>\n<p>  \/* Setup I\/O *\/<br \/>\n  PH-&gt;PUP  = 0x02;                     \t \/\/ PH.1 with enabled Pull-up<br \/>\n  PH-&gt;IE   = 0x02;                     \t \/\/ PH.1  as Input (Push Button)<\/p>\n<p>  PI-&gt;CR   |=  0x07;          \t\t\t\/\/ PI.0 and PI.1 as Output<br \/>\n  PI-&gt;DATA |=  0x07;                   \t\/\/ PI.0 and PI.1 Off<\/p>\n<p>  for (;;) {                           \t\/\/ Loop forever<\/p>\n<p>\tPI -&gt; DATA &amp;= ~ 0x01;\t\t\t\t\/\/ LED an PH.0 On<br \/>\n\tif (!(PH-&gt;DATA &amp; 0x02)&amp;&amp; mem == 0)       \/\/ If PH.1 is pressed and mem=0<br \/>\n\t   {<br \/>\n\t   \t\tmem=1;<br \/>\n       \t\tPI -&gt; DATA\t&amp;= ~0x02;\t\t\/\/ PH.2 on<br \/>\n\t\t\tPI -&gt; DATA\t|= 0x04;\t\t\/\/ PH.2 off<br \/>\n\t   }<br \/>\n\telse if (!(PH-&gt;DATA &amp; 0x02)&amp;&amp; mem == 1)\/\/ If PH.1 is pressed and mem=1<br \/>\n\t\t{<br \/>\n\t\t \tmem=0;<br \/>\n\t\t\tPI -&gt; DATA\t|= 0x02;\t\t\/\/ PH.2 on<br \/>\n\t\t  \tPI -&gt; DATA\t&amp;= ~0x04;\t\t\/\/ PH.2 off<br \/>\n\t\t}<br \/>\n  }<br \/>\n}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe f\u00fcr das ARM Evalboard mein ein kleines I\/O Testprogramm geschrieben. Das Programm ist nix wildes. Es schaltet die LED an Pin PI0 ein. \u00dcber den Schalter an PH1 werden dann die LEDs an Pins abwechselnd ein und aus. &hellip; <a href=\"http:\/\/www.dl8stwblog.freiraumwelle.de\/?p=476\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=\/wp\/v2\/posts\/476"}],"collection":[{"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=476"}],"version-history":[{"count":0,"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=\/wp\/v2\/posts\/476\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=476"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.dl8stwblog.freiraumwelle.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}