Cool magazín

Zábavný cool magazín

Type to search

Jaký druhy proměnných se vyskytují u Arduino?

V programátorském prostředí Arduino IDE (z ang. Integrated Development Environment) se používají proměnné různého druhu. Na jejich typu závisí nejen kód, přesně jeho správnost, ale také funkce konkrétní proměnné. Z tohoto článku se můžete dozvědět např. jaké jsou druhy proměnných v Arduino a co je o nich dobré vědět?

Programování mikrokontroleru s pomocí proměnných

Jedním z nejdůležitějších prvků, nejen u mikrokontroleru Arduino, ale také u jednodeskových minipočítačů je procesor. K jeho úkolům patří realizace logických operací a výpočtů. Za tento proces zodpovídá výkonná jednotka ALU (logicko-aritmetická), jejímž hlavním úkolem je provádět jednoduché operace, jako je např. odčítání a sčítání. Musíme ovšem poznamenat, že kromě provádění operací není ALU jednotka schopna rozeznat, co konkrétně zadaná data znamenají. Všechna data, který byla podrobena operacím různého druhu, jsou nezbytná během provádění výpočtů nejen na číslech s pohyblivou řádovou čárkou, ale také na celých číslech.

Doplňující informace o softwaru Arduino

Podrobné informace týkající se dat, tedy kontext nezbytný pro provádění operací, se získává z kompilátoru. Údaje do kompilátoru zadává uživatel. Pro usnadnění lze celý tento proces popsat jako zadání pokynů týkajících se druhu hodnoty, které jsou pro provedení operace nezbytné. Jiný slovy, kodér udává hodnotu pro čísla s pohyblivou řádovou čárkou a celá čísla.

Kompilátor by měl získat jasnou informaci o záměrech uživatele, např. o tom, že chce odečíst celé číslo od čísla s plovoucí desetinnou čárkou. V závislosti na konkrétní operaci se celý tento proces může vyznačovat různou úrovní komplikovanosti. Z tohoto důvodu musí programátor při zadávání konkrétních číselných údajů určit, jaký typ proměnné se shoduje s vybraným argumentem.

Jaké jsou typy proměnných a co je dobré o nich vědět? Hlavním úkolem typů proměnných je identifikovat druh dat a funkce, které se s nimi pojí. Tyto funkce se využívají k obsluze dat. V případě prostředí určeného pro programování Arduino přicházíme do kontaktu s 11 různými typy proměnných, word, byte, unsigned long, long, short, unsigned int, double, float, char, int a void.

Popis proměnných unsigned long, byte a word

První popsanou proměnnou je world, která se vztahuje pouze na nezáporná čísla, která byla zapsána na šestnácti bitech. Další skupinou jsou nezáporná čísla zapsaná ve dvou bajtech a zároveň v rozsahu od 0 do 65535. Typ byte je druh dat přiřazený k unsigned. Byte obsahuje hodnoty od nuly po 255.

Dalším typem, tedy unsigned long, jsou tzv. proměnné charakterizované rozšířenou velikostí. Uchovává 32 bitů, tedy 4 bajty. Za zmínku stojí, že typ unsigned long neobsahuje záporná čísla. Rozsah popisovaného typu se pohybuje v intervalu od 0 do 4294967295.

Typ long, short a unsigned int

V případě typu long máme co do činění s proměnnou s tzv. rozšířenou velikostí. Uchovává 32 bitů, tedy 4 bajty. Obsáhnutý rozsah je od -2147483648 do 2147483647. Krátký typ je naproti tomu takzvaný celočíselný datový typ, který ukládá 16bitové nebo dva bajty dat. Jeho rozsah se pohybuje v rozmezí od – (215) do ((215) –-1) nebo od -32768 do 32767. Mikrokontroler Arduino vybavený ARM ATmega převážně uchovává data short ve 2 bajtech.

Naproti tomu unsigned int ukládá pouze kladné hodnoty (až 16 bitů nebo dva bajty). Rozsah stanoví od 0 do ((216) – 1) nebo od od 0 do 65535. V případě Arduino Dude máme co do činění s ukládáním nepodepsaných datových hodnot, které mají 32 bitů nebo 4 bajty. Jeden bit znaku představuje rozdíl mezi typem dat se znakem a bez znaku. V případě 16bitového čísla se rozlišuje až 15 bitů s doplněním na 2. Nejvyšší bit je na druhé straně považován za kladné nebo záporné číslo.

Typy double, float, char, int a void

Typ double je určen k obsluze jak čísel s plovoucí desetinnou čárkou, tak desetinných čísel. Je dobré nezapomínat, že typ double zabírá až dvakrát více paměti než float. Úkolem popisovaného typu je přesné stanovení čísel s plovoucí desetinnou čárkou, tzv. dvojitá přesnost. V případě Arduino Due zabírá 8 bajtů, u ATmega a UNO 4 bajty. Typ float, konkrétně jeho velikost, představuje 32 bitů nebo 4 bajty. Typ void slouží k deklarování funkce, určuje sestavu hodnot, která je prázdná. Typ int pak obsahuje celá čísla (kladná i záporná). Jsou zbavena mantisy, tedy zlomkové části. Rozsah dat se pohybuje od -32768 do 32767 nebo s pomocí notace síly od – (215) do ((215) – 1). Typ char umožňuje ukládání libovolného počtu znaků. Tomtu typu se také říká celočíselný typ. 

Popis výše představuje jen úvod do druhu proměnných v Arduino. Pokud hledáte prověřené místo, kde si můžete bezpečně zakoupit originální mikrokontroler Arduino a příslušenství, vyplatí se prohlédnout si nabídku obchodu Botland (autorizovaného distributora).

Zdroj foto 1: Golubovy / shutterstock.com

Zdroj foto 2: Golubovy / shutterstock.com