Arduino időzítő könyvtár a késleltetéshez

Arduino Idozito Konyvtar A Keslelteteshez



Az időzítő az Arduino egyik kulcsfontosságú összetevője az időérzékeny feladatok kezelésében. Az Arduino időzítői általában a delay() függvényt használják a végrehajtás késleltetésére vagy szüneteltetésére kis időközönként. A többfeladatos munkavégzéshez azonban egy speciális könyvtárra van szükség a funkciók késleltetésére.

Ez az útmutató rövid leírásokkal ismerteti a különböző Arduino időzítő könyvtárakat a késleltetéshez. Előtte ismerjük meg az Arduino delay() függvény korlátait.







A késés korlátai ()

A delay() függvény nem használható, ha különböző feladatokat szeretnénk egyszerre végrehajtani, mivel ez egy blokkoló függvény. Ez azt jelenti, hogy valahányszor a delay() függvényt egy feladat végrehajtásának szüneteltetésére használjuk, az nem engedi meg, hogy közben más függvény fusson. Ezért ha valaki le akar állítani egy programot, miközben másokat futtat, a delay() nem használható.



Akkor mit kell tenni?



Arduino Timer Library a funkcióhívások késleltetéséhez

A probléma megoldásához speciális, késleltetésre tervezett könyvtárakat kell használnia. Ezek a könyvtárak lehetővé teszik a program egyes funkcióinak egy ideig történő szüneteltetését, míg más funkciók futtatását időközben. Ezek a könyvtárak időzítő könyvtárak, amelyek nem blokkolják a többfeladatos munkát. Használhatók funkciók hívására, amikor és amikor szükséges.





Az Arduino Timer Library beépítése az Arduino kódba

Az időzítő könyvtár felvételéhez először hozzá kell adnunk a zip fájlt a következővel: Tartalmazza a könyvtárat szakasz az Arduino IDE-ben. Az Arduino-könyvtárak hozzáadásának részletes leírásáért olvassa el a következő cikket hogyan kell telepíteni a könyvtárat az Arduino IDE-ben .

1. lépés

Először le kell töltenie az Arduino időzítő könyvtárát.



2. lépés

Az időzítőkönyvtár letöltése után nyissa meg az Arduino IDE-t, lépjen a Sketch, majd az Include Library elemre, majd kattintson a ZIP-könyvtár hozzáadása elemre.


Megjelenik az Arduino „Könyvtár telepítve” a kimenetben.

3. lépés

Miután hozzáadta a ZIP-könyvtárat az Arduino IDE-hez, az megjelenik az Include Library opciók legördülő listájában az Arduino IDE-ben. Innen tartalmazza Időzítő könyvtár.


Amikor belefoglalja a 'Időzítő' könyvtárat, az előfeldolgozó direktíva megjelenik a vázlaton. Ellenkező esetben kövesse a 4. lépést a könyvtár manuális felvételéhez.

# tartalmazza < Időzítő.h >

4. lépés

Az Arduino Timer Library Arduino kódba való felvételéhez használja a #beleértve irányelvvel együtt a (.h) kiterjesztés időzítő könyvtárának nevét, majd hozzon létre egy időzítőt az alábbiak szerint.

#include
auto timer = timer_create_default ( ) ;


Az időzítő létrehozása után létre kell hoznia egy függvényt az időzítő meghívásához. Előfordulhat, hogy egy meghatározott pillanatban, rövid késleltetés vagy bizonyos idő elteltével fel kell hívnia az időzítőt. Az alábbiakban példákat mutatunk be az időzítők ilyen körülmények közötti hívására.

Ha rövid késést szeretne

timer.in ( késleltetés, függvény_hívás ) ;
timer.in ( késleltetés, függvény_hívás, argumentum ) ; // vagy opcionális érvvel számára függvény_hívása


Ebben az esetben használhatjuk a timer.in() függvény késleltetést hoz létre egy adott függvény meghívása előtt. A késleltetés paraméter azt az időt jelenti ezredmásodpercben, ameddig várnunk kell a kód végrehajtása előtt.

A megadott késleltetés után a függvény_hívása használva lesz. Meghatározható egy argumentum is, amely átadja a függvényt a hívás időpontjában.

Abban az esetben, ha egy adott időpontban szeretné felhívni az időzítőt

Ez a funkció egy időzítőt állít be egy adott funkció egy adott időpontban történő végrehajtásához. A time paraméter határozza meg azt az időpontot, amikor a függvényt meg kell hívni. Ez lehet egy adott időbélyeg vagy egy késleltetési érték ezredmásodpercben. A függvény_hívása az időzítő lejárta után végrehajtandó függvény paramétere.

timer.at ( idő , függvény_hívása ) ;
timer.at ( idő , függvény_hívása, argumentum ) ; // érveléssel


timer.at(idő, függvény_hívás, argumentum) függvény argumentumot adhat át a meghívott függvénynek. Az argumentum paraméter a függvényben átadandó érték lesz.

Arra az esetre, ha egy idő után fel szeretné hívni az időzítőt

Ebben az esetben a timer.every() függvény segítségével ismételten meghívhat egy függvényt meghatározott idő elteltével. Az intervallum paraméter ezredmásodpercben mutatja az időt a végrehajtható időintervallumok között.

Adja meg a kívánt intervallumot és a függvény_hívása ismételten használatban lesz az adott intervallum után. Az előző esetekhez hasonlóan, megadhat egy opcionális argumentumot, amelyet át kell adni a függvénynek a meghívásakor.

időzítő.minden ( intervallum, függvény_hívás ) ;
időzítő.minden ( intervallum, függvény_hívása, argumentum ) ; // Ide írja be az intervallumot


A hivatkozáson keresztül további részleteket tudhat meg az időzítő könyvtár használatának módjáról a függvényhívások késleltetésére Arduino időzítő könyvtár a funkciók késleltetéséhez .

Néhány más könyvtár az Arduino késleltetéséhez

Az alábbi link az Arduino időzítőkönyvtáraihoz vezet, ahol telepítheti az időzítő könyvtárakat a funkcióhívások késleltetéséhez.

Timer Library – Michael Contreras

Van olyan szerző is, aki saját készítésű, nem blokkoló Arduino időzítő könyvtárat készített a funkcióhívások késleltetéséhez. Használta az Arduino beépített függvényeit, mint például a millis() és micros() késleltető funkciókat blokkolás nélkül. Az alábbiakban található egy link a könyvtárához:

MichaelUray Arduino időzítő könyvtár

Következtetés

Bár a delay() függvény már jelen van az Arduinóban, nem használható több feladat egyidejű végrehajtására. Több feladat egyidejű végrehajtásához az Arduino közösség nem blokkoló időzítő könyvtárakat hozott létre, amelyek szükség szerint használhatók.