User Manual
104
Tento příklad ukazuje, jak jednoduchý může být program I
2
C slave:
Vlastní program nebude nic dělat (evidentně) a tak potřebujete master pro ovládání zařízení
typu slave. V tomto případě je slave na sběrnici I
2
C dostupný na adrese 10 (viz řádek 10).
Program poskytuje dva registry pro zápis a jeden registr pro čtení dat. První registr (= registr
číslo 0) se používá pro příjem příkazů. Tento zjednodušený příklad používá příkaz “3” pro
nastavení LED (může to být libovolné číslo). Při příjmu libovolného příkazu – bez zápisového
přístupu (viz řádek 16) – uloží program obsah příkazového registru 0 do proměnné “cmd” (řádek
19) a vynuluje příkazový registr 0, aby vyloučil opakované provádění příkazu! Program
pokračuje uložením parametru z registru 1 do další dočasné proměnné a kontrolou příkazu 3
(řádek 23). Pokud je porovnání pravdivé, nastaví se LED podle hodnoty přijatého parametru.
Řádek 26 kontroluje, zda neprobíhá přístup čtení a uloží aktuální hodnotu registru LED do
registru 0, který umožňuje čtení.
Pokud je řídící jednotka na základní desce naprogramována tímto způsobem, může jednotka
master nastavit LED na základní desce přes sběrnici I
2
C a přečíst zpět aktuální stav LED.
Program nebude dělat nic jiného – mnohem podrobnější ukázkový program, který umožňuje
virtuální ovládání všech dostupných funkcí robotu, můžete najít na CD. Předchozí příklad pouze
demonstruje základní principy. Základem všeho je 16 registrů pro zápis a 48 registrů pro čtení.
Pokud někdo potřebuje více nebo méně registrů, musí přizpůsobit příslušné definice knihovny
RP6Library v hlavičkovém souboru RP6I2CSlaveTWI.h.