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říkazo registr 0, aby vyloučil opakované provádění příkazu! Program
pokračuje uložením parametru z registru 1 do další dočas proměnné a kontrolou příkazu 3
(řádek 23). Pokud je porovní 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ý umň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ázko program, který umňuje
virtuální ovládání ech dostupných funkcí robotu, můžete najít na CD. Předchozí příklad pouze
demonstruje základní principy. Základem 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š definice knihovny
RP6Library v hlavičkovém souboru RP6I2CSlaveTWI.h.