Arduino a funkce millis. Proč nikdy neuvidíte číslo 42.

Zajímavé téma ohledně funkce millis() pro vývojové kity Arduino Uno, Nano, prostě desky založené na Atmega328 zveřejnil Michal Dudka.

Zjistil, že po spuštění časovače právě s ATmega328 se nikdy nedočkáte 42 milisekundy a jejich násobků. Zároveň přidal i vysvětlení.

Upřímně, proč časovač v ATMega328 vynechá každou 42 milisekundu mě nikdy nenapadlo a navíc bych ani nečekal, že něco takového bude mikrokontrolér dělat. Ale důvod je ve finále naprosto logický.

Cituji Michala:
Nedávno při nějaké diskuzi mě zaujalo jak je na Aruino (UNO, nano, micro, prostě s Atmega328) řešená funkce millis(). Má zajímavou vlastnost, přibližně každou 42 druhou milisekundu v řadě „vynechává“. Takže když sestavíte primitivní program který bude stále dokola číst hodnotu millis tak se čísla 42 nedočkáte, a nedočkáte se ani 85, 127, 170 … atd. Je to dáno tím, že millis ve skutečnosti počítá s periodou 1.024ms (daň za to že použitý timer nepřijde o jeden PWM kanál) a když celková chyba přesáhne 1ms (nasbírá cca 42 chyb po 0.024ms) tak prostě „poskočí“ o 2ms aby se nerozcházela (zjednodušeně řečeno) – podobně jako když v přestupném roce přidáváme v únoru jeden den abychom ošetřili fakt že rok netrvá přesně 365 dní.

Michal Dudka je velmi zkušený programátor a bastlíř a spravuje svůj vlastní web http://www.elektromys.eu/

Tuto zajímavost sdílel ve facebookové skupině Arduino CZ & SK

Sdílejte článek:
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku

Související články

CH32V003 návod

Mikrokontroléry CH32V – určitě jste už o nich slyšeli. Prodávají se za naprosto směšnou cenu, ale mají velmi slušnou výbavu a navíc se prodavají v dobře pájitelném pouzdře. Mezi periferiemi najdete mimo klasických GPIO i SPI, ADC, UART, I2C, časovače…

Aktuálně: Zákon o DPH pro zásilky malé hodnoty ze zemí mimo EU podepsal prezident Od 1.

ESPHome 2025.8.0 přináší zásadní novinky v podpoře hardwaru a významná vylepšení výkonu i optimalizace paměti. Tato aktualizace, vydaná 20. srpna 2025, rozšiřuje možnosti platformy zejména díky podpoře nových zařízení, podpoře ESP-NOW, rychlejší práci s řetězci, redukcí duplicitního kódu a čekání.

Arduino Pro posouvá platformu Arduino do profesionálních aplikací IoT a Průmyslu 4.0 pomocí hardwaru jako Arduino Portenta H7, Arduino MKR a Arduino Nano 33, které jsou vybaveny výkonnými procesory a širokou škálou komunikačních rozhraní. Součástí ekosystému jsou rozšiřující moduly, software…

Každý elektro nadšenec přinejmenším slyšel o Arduino, které získalo obrovskou popularitu díky svým jedinečným vlastnostem.

Trendy