User Manual
82
RP6 poskytuje osm 16-bitových stopek (Stopwatch1 až Stopwatch8), které lze spustit, zastavit,
nastavit a číst. Stejně jako u funkce mSleep můžeme počítat s rozlišením jedné milisekundy,
které znamená zvyšování čítače v intervalech po 1 ms. Tato metoda se nedá použít pro velmi
kritické časování, protože kontrola obsahu čítače není příliš přesná.
Následující příklad předvádí použití stopek:
Program je skutečně jednoduchý. Každou sekundu se pošle obsah čítače přes sériové rozhraní
a zvýší čítač (řádky 29 až 36). Zároveň se provádí zpracování jednoduchého programu
běžícího světla na LED (řádky 19 až 26) s intervalem obnovy 100 ms.
Zde se používají Stopwatch1 a Stopwatch2, které začínají na řádku 9 respektive 10. Pak se
rozběhnou čítače ve stopkách. Nekonečná smyčka (na řádcích 16 až 37) trvale kontroluje, zda
stopky nepřekročily definovanou úroveň. Podmínka na řádku 19 například řídí běhání světla a
kontroluje, zda na stopkách uběhl od posledního vynulování čas 100 ms. Pokud je tato
podmínka splněna, rozsvítí se následující LED, vynuluje se čítač (řádek 25) a čeká se dalších
100ms. Stejný postup se používá u druhého časovače, který naopak kontroluje intervaly
1000ms, respektive 1 sekundy.