Čítače časovače Flashcards
Čítač
spravuje určité paměťové místo, ke kterému přičítá jedničku na
základě nástupné nebo sestupné hrany sledovaného signálu.
• Sledovaným signálem je vnější signál (výstupní signál ze senzoru)
Časovač
spravuje určité paměťové místo, ke kterému přičítá jedničku
(funguje také jako čítač)
• Sledovaným signálem je vnitřní známí signál (hodinový signál)
• Vytvoření časového intervalu (zpoždění)
Generování časového useku
Časový usek lze generovat mnoha způsoby. Záleží však na tom, co se vyžaduje od aplikace a zda se neočekáváji další činnosti v okamžiku čekání.
V základní výbavě mají desky Arduino čtyři funkce pro práci s časem.
- delay() - spoždení
- delayMiscorseconds()
- millis() - zjišťování času na uběhlého od startu programu
- micros()
Další možností je využít ˇčítačů časovačů mikroprocesoru a s využitím obsluhy přerušení lze pak generovat časový usek dle potřeby. Neboť čítače časovače mohou generovat poměrně krátké časové úseky tak v případě dlouhých časových úseků je pak možné využit počítání přetečení čítače časovače a definovat tak dlouhý časový úsek.
Časový úsek s delay() / millis()
Pokud bych měl rozdíl mezi těmi dvěma přístupy přirovnat k normálnímu životu tak, delay funguje tak, že se zastavíte uprostřed chodníku, koukáte na hodinky a dokud není 12 tak nic neděláte a čekáte na oběd. Naproti tomu millis funguje tak, že na hodinky kouknete, zjistíte, že je jedenáct a tak jdete dělat něco jiného, za čas na ně kouknete znovu a pokud už bylo dvanáct tak jdete na oběd. Z toho vyplývá výhoda i nevýhoda, můžete dělat i něco jiného než koukat na hodinky, ale taky možná přijdete na oběd o něco později než přesně ve dvanáct.
Čítač časovač krátký časový úsek
Krátký časový úsek je definován do maximálně jednoho přetečení čítače časovače.
Čítač časovač dlouhý časový úsek
Dlouhý časový usek je definován jako čas, který je třeba určit více jak jedním přetečením čítače časovače.