Diskusní téma: Lekce 32 - Arduino a časování procesů v programu

Datum
Vložil
Titulek

Re: Funkce millis() a datový typ

Použití unsigned long je teoreticky správnější. Dostaneme hodnotu která bude dvojnásobná. Jak jsem již uvedl k přetečení dojde za 50 dní. Když to budeme používat např. k vyhodnocení nějakých hodnot třeba každých 5 minut, tak když dojde k přetečení do 0, tak výpočtem dojde že se má proces vykonat (např. lastJob = 58745555 + nějaký interval bude vždy větší jak přetečená hodnota millis(). Tím se proces vykoná a lastJob bude zase uložen jako aktuální millis(). Chyba bude jen v intervalu procesu, který se vykoná okamžitě po přetečení funkce millis() a tudíž bude kratší. Jednou za zhruba 50 dní je to chyba přijatelná. Samozřejmě by to šlo programově ošetřit, ale to není cílem toho návodu. Řešení by bylo použití také v tomto případě obvodu reálného času.

Zpět na diskuzi

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.