{"id":154,"date":"2013-02-13T13:37:43","date_gmt":"2013-02-13T12:37:43","guid":{"rendered":"http:\/\/honza.paws.cz\/?p=154"},"modified":"2013-02-13T22:48:41","modified_gmt":"2013-02-13T21:48:41","slug":"gpio-preruseni","status":"publish","type":"post","link":"http:\/\/honza.paws.cz\/?p=154","title":{"rendered":"GPIO p\u0159eru\u0161en\u00ed"},"content":{"rendered":"<p>Chodil jsem na p\u0159edn\u00e1\u0161ky a cvi\u010den\u00ed z \u201eC\u00e9\u010dka\u201c a tak v\u00edm, \u017ee existuje n\u011bjak\u00e9 p\u0159eru\u0161en\u00ed. Pro kontrolu vstupu se d\u00e1 v z\u00e1kladu pou\u017e\u00edt p\u0159\u00edstup: spust\u00edm nekone\u010dnou smy\u010dku a co chv\u00edli se budu d\u00edvat, zda se n\u011bco ned\u011bje, jen\u017ee to nelze d\u011blat kontinu\u00e1ln\u011b, proces si mus\u00ed na chv\u00edli oddychnout a nechat prostor dal\u0161\u00edm, v tu chv\u00edli v\u0161ak nesleduje vstup a ten se m\u016f\u017ee b\u011bhem kr\u00e1tk\u00e9 chv\u00edle zm\u011bnit, ani\u017e by to program zpozoroval. Elegantn\u011bj\u0161\u00ed cesta je nechat opera\u010dn\u00ed syst\u00e9m, aby sledoval tzv. p\u0159eru\u0161en\u00ed. a ve chv\u00edli, kdy k n\u011bmu dojde o ud\u00e1losti spravil n\u00e1\u0161 proces, kter\u00fd na to zat\u00edm \u010dek\u00e1. Proto\u017ee chyst\u00e1m provizorn\u00ed \u010dasom\u00edru, kterou bych i p\u0159esto cht\u011bl m\u00edt co nejp\u0159esn\u011bj\u0161\u00ed, za pomoci RPi a v\u00edm, \u017ee b\u011b\u017en\u00e9 Linuxov\u00e9 j\u00e1dro nen\u00ed real-time, vzpomn\u011bl jsem si na p\u0159eru\u0161en\u00ed, kter\u00e9 bych r\u00e1d porovnal s extern\u00edm za\u0159\u00edzen\u00ed v podob\u011b \u010d\u00edta\u010de puls\u016f (viz astromik.org a jeho \u010dasom\u00edra). Hledal jsem a nakonec na\u0161el.<br \/>\nSice nejde o p\u0159eru\u0161en\u00ed v prav\u00e9m slova smyslu, ale zastane stejnou slu\u017ebu.<br \/>\nVybereme si pin, j\u00e1 zvolil GPIO 15 (tj. P1-10) a d\u00e1me jej k dispozici program\u016fm jako vstup:<\/p>\n<pre>echo 15 > \/sys\/class\/gpio\/export\r\necho in > \/sys\/class\/gpio\/gpio15\/direction\r\n<\/pre>\n<p><a href=\"http:\/\/www.raspberrypi.org\/phpBB3\/viewtopic.php?t=7509&#038;p=92074\">Zde<\/a> jsem nalezl postup. Stahujte, upravujte a kompilujte, tam odkazovan\u00fd, <a href=\"http:\/\/dev.mrkva.eu\/rpi\/gpio-irq-demo.c\">soubor<\/a>. Spus\u0165te a sledujte vesel\u00e1 p\u0159eru\u0161en\u00ed v\u017edy, kdy\u017e se zm\u011bn\u00ed stav vstupn\u00edho pinu. Podle jin\u00e9ho programu v pythonu, je \u010dasov\u00e1 prodleva mezi dal\u0161\u00edm p\u0159eru\u0161en\u00edm do dt=0,002&nbsp;s (v\u010detn\u011b vypisov\u00e1n\u00ed na obrazovku), co\u017e je dostate\u010dn\u00e9 pro m\u011b\u0159en\u00ed do \u0159\u00e1du setin sekundy, ale pravd\u011bpodobn\u011b si to nezad\u00e1 s m\u011b\u0159en\u00edm s rozli\u0161en\u00edm na 32&times;10<sup>-3<\/sup>&nbsp;s, zaji\u0161t\u011bn\u00e9 extern\u00edm \u010d\u00edta\u010dem.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chodil jsem na p\u0159edn\u00e1\u0161ky a cvi\u010den\u00ed z \u201eC\u00e9\u010dka\u201c a tak v\u00edm, \u017ee existuje n\u011bjak\u00e9 p\u0159eru\u0161en\u00ed. Pro kontrolu vstupu se d\u00e1 v z\u00e1kladu pou\u017e\u00edt p\u0159\u00edstup: spust\u00edm nekone\u010dnou smy\u010dku a co chv\u00edli se budu d\u00edvat, zda se n\u011bco ned\u011bje, jen\u017ee to nelze d\u011blat kontinu\u00e1ln\u011b, proces si mus\u00ed na chv\u00edli oddychnout a nechat prostor dal\u0161\u00edm, v tu chv\u00edli [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/154"}],"collection":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=154"}],"version-history":[{"count":16,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/154\/revisions"}],"predecessor-version":[{"id":161,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/154\/revisions\/161"}],"wp:attachment":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=154"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}