User Manual
79
void writeStringLength(char *data, uint8_t length, uint8_t offset);
Tuto funkci můžete použít kdykoliv budete potřebovat výstup textu s definovanou délkou nebo
posunem.
Například:
writeStringLength("ABCDEFG", 3, 1);
výstup: “BCD”
writeStringLength("ABCDEFG", 2, 4);
výstup: “EF”
Tato funkce však zabírá místo v paměti RAM pro uložení řetězce a je určena pro zpracování
dynamických textů. Tuto funkci například používá writeIntegerLength.
void writeInteger(int16_t number, uint8_t base);
Tato velmi užitečná funkce vytvoří výstup celočíselných hodnot ve tvaru ASCII testu.
Z předchozích příkladů si pamatujeme, že writeChar(65) předá na výstup znak 'A' místo čísla
65...
Proto potřebujeme funkci, které vytvoří výstup čísel ve tvaru textových řetězců.
Příklad:
writeInteger(139, DEC);
výstup: “139”
writeInteger(25532, DEC);
výstup: “25532”
Funkce umožňuje výstup čísel z celého rozsahu 16-bitových celých čísel v rozsahu od -32768
do 32767. Pokud však předpokládáte použití čísel, které překračují tyto meze, musíte funkci
modifikovat nebo vytvořit zvláštní funkci.
Nyní se můžeme zamyslet, proč se používá druhý parametr “DEC”. Odpověď je skutečně
jednoduchá: tento parametr řídí výstupní formát čísla. Místo DEC - dekadický (základ 10)
můžeme samozřejmě používat několik alternativních výstupních formátů například binární (BIN,
základ 2), osmičkový (OCT, základ 8) nebo hexadecimální (HEX, základ 16).
Několik příkladů:
writeInteger(255, DEC);
výstup: “255”
writeInteger(255, HEX);
výstup: “FF”
writeInteger(255, OCT);
výstup: “377”
writeInteger(255, BIN);
výstup: “11111111”
Tyto funkce jsou pro řadu aplikací neobyčejně užitečné. Speciálně pro výstup celých čísel ve
formátu HEX nebo BIN, protože tyto formáty umožňují přímé sledování nastavení jednotlivých
bitů.