37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# Interval - Arduino knihovna pro časování pomocí intervalů
|
||
|
||
Koncepce programové konstrukce aplikace pro Arduino spočívá ve dvou hlavních metodách – **setup()** a **loop()**, ve které program neustále běží.
|
||
Pro pohodlnější práci s obsluhou periodických procesů jsem napsal jednoduchou knihovnu, která tyto úkoly umožňuje realizovat velmi elegantním způsobem.
|
||
|
||
Knihovna **Interval** vytváří časovací objekty a umožňuje jejich ovládání pomocí následujících metod.
|
||
|
||
## **set**
|
||
|
||
Metoda **set** se používá k nastavení timeoutu a definici začátku časování.
|
||
|
||
## **expired**
|
||
|
||
Metoda **expired** pak slouží k ověření, zda nastavený interval již vypršel.
|
||
|
||
## **setOneshot**
|
||
|
||
Metoda **setOneshot** nastaví jednorázový běh časovače. Po jeho vypršení je časovač zastavený.
|
||
|
||
## **setPeriodic**
|
||
|
||
Metoda **setPeriodic** nastaví opakovaný běh časovače. Po jeho vypršení je časovač automaticky nastavený na zadaný čas.
|
||
|
||
## **reload**
|
||
|
||
Metoda **reload** způsobí nový start časovače s poslední zadanou časovou konstantou.
|
||
|
||
## **elapsed**
|
||
|
||
Metoda **elapsed** vrátí čas, který už uplynul od začátku běhu časovače.
|
||
|
||
## **remains**
|
||
|
||
Metoda **remains** vrátí čas, který ještě zbývá do konce běhu časovače, nebo do startu nového cyklu.
|
||
|
||
Zajímavostí je, že knihovna korektně ošetřuje přetečení vnitřního milisekundového čítače, takže nehrozí nebezpečí špatného časování i při velmi dlouhé době chodu zařízení.
|