Külső megszakítások - programozás mikrokontrollerek
Ebben a cikkben azt fogja mondani, a külső megszakítások Arduino.
Általában kimaradása - az által kisugárzott jel a mikrokontroller, amely azt mondja neki, hogy meg kell szakítani a program végrehajtásához, és végre több utasítást kiemelten kezeli. Ezek az utasítások az úgynevezett megszakítást kezelő.
Megszakítás - egy nagyon hatékony eszköz, csak akkor szükséges, ha meg kell processzor vezérli, mint valaha (pl LED-kijelző, motorok, stb), és mindig kész volt semmilyen parancsot végrehajtani. így például sajtolás után.
Van többféle megszakítások. A fő közülük az időzítő megszakítások és külső megszakítások. Külső megszakítások - Interrupt fut, ha megváltoztatja az állam bármely pin mi mikrokontroller. Az általam részletesen.
Tehát általában mikrokontrollerek képes feldolgozni akár két külső megszakítások. Mint például Arduino Mega, Leonardo, köszönhetően képes kezelni több megszakítások, de a működési elve velük marad. Fogok beszélni dolgozik megszakítások példáján Arduino Uno.
Használható külső megszakítások Arduino Uno használt csapok a 2. és 3. Ennek megfelelően, a mikrokontroller határozza meg őket 0 (nulla), és 1 (első) külső megszakítás.
Hívni a megszakítás egy szabványos Arduino IDE design:
attachInterrupt (megszakítás, funkció, mód)
Amikor hívja ezt a funkciót, meg kell adnia a következő paramétereket:
1) megszakítás száma - azaz a csap, amiből olvasunk a feltétel bekövetkezésének a megszakítás. Ennek megfelelően, a szám lehet 0 vagy 1 (azaz, csapok 2 és 3).
2) A megszakítás kezelő funkció - itt adja meg a funkciót, hogy fogják hívni, amikor egy megszakítási eseményt.
3) típusa Interrupt - ez adja az esetben, ha várható, hogy futtatni a mikrokontroller megszakítás kezelő. Trap írja be a következő értékeket:
HIGH - felvezető kezdődik, amikor részesülő +5 V vagy logikai 1;
LOW - felvezető kezdődik, amikor megkapta 0V vagy logikai 0;
RISING - felvezető kezdődik kézhezvételét követően a felfutó éle jel (feszültség 0-ról + 5V);
FALLING - kezelő akkor kezdődik, amikor megkapta a csökkenő éle a jel (feszültség változása a + 5V lefelé 0);
VÁLTOZÁS - felvezető akkor kezdődik, amikor a jel változás től + 5V 0, és fordítva.
Ezen kívül, hogy működjön együtt a megszakítások más funkciók:
A funkciók engedélyezése és letiltása végrehajtását megszakítás a munka nagyon szelektív, különösen akkor, ha dolgozik kódtárakat, mivel a tilalom minden megszakítások meghibásodását okozhatja funkciók kötve a belső időzítő, és így tovább. Fogok összpontosítani ezt egy cikket a kis projekt, ahol már használják a külső megszakítási és TFT-kijelzőn.
És még egy elméleti kitérőt. Amikor dolgozik a külső megszakítások, ha megy, hogy olvassa el a préselés, sürgető probléma harcol kapcsolati ugrál. Ha már dolgozott a gombok, akkor tudja, hogy számos változás az állam, amikor megnyomja a gombokat, amelyek nem érzékeli az ember, és a mikrokontroller betartja őket tökéletesen. Általában az egyszerű projektek ez a probléma megoldódott a használata kis késedelmet nem különösebben befolyásolja a run-time program, de lehetővé teszi, hogy a gombot, hogy stabilizálja. Amikor dolgozik a külső megszakítások, ez a megközelítés nem működik, így meg kell, hogy ugrál kontatktov ne távolítsa el a szoftvert és hardvert. Erre a feladatra tökéletesen megfordításával trigger. ÉN használ 74HC14N chip, amely magában foglalja a nyolc ilyen flip-flop. Tehát, mi kell érteni, hogyan is kapcsolódik, és hogyan működik mindez. Schmidt trigger működik, nagyon egyszerű, amikor az a bemenet + 5V kimeneti kiadja 0 és fordítva, vagyis megfordítja a kapott jelet. Most össze az áramkört látható.