Jak ukazuji priklady
https://www.arduino.cc/en/Tutorial/Baro ... sureSensor a
https://www.arduino.cc/en/Tutorial/DigitalPotControl
je na uzivateli, aby si sam zvolil SlaveSelect pin pro danou periferii a sam je zodpovedny za to, aby ho pred prenosem nastavil na LOW a po prenosu na HIGH.
SPI probiha tak, ze uzivatel vybere danou priferii (tedy ji na jeji CS pin nastavi LOW, tim ze ho zapisen a SlaveSelect pin ktery si pro danou periferii zadefinoval a pripojil ho k CS pinu te periferie), potom proste zavola SPI.transfer(..) a ten si se zarizenim vymeni jeden (nebo v pripade transfer16 2 a v pripade bufferu size) byte - proste to vysle po MOSI/MISO/SCK a nestara se, kdo posloucha a kdo odpovida. Nasledne uzivatel zarizeni zase odpoji nastavenim SlaveSelect pinu na HIGH (cimz se na zarizeni nastavi jeho ChipSelect na HIGH a ono prestane komunikovat).
DUE ma navic ty extended settings, kde se diky jinemu HW chova i jinak nez klasicke UNO, ale melo by jit pouzivat i kompatibilne,
Takze pokud si ridis komunikaci sam, tak muzes pripojit tech zarizeni tolik, kolik dokazes ovladat volnymi piny (coz muzou byt klidne desitky, pokud pouzijes napriklad nejaky shiftregister, nebo jinou vychytavku, s klasickym UNO mas 6 analogovych a 9 digitalnich pinu pro adresovani a jak si to zaridis e na tobe)
Pokud pro komunikaci pouzivas nejakou knihovnu, pak ji bud musis rict, ktery pin ma pouzivat pro slaveselect, nebo to ma natvrdo zadratovane uvnitr, nebo to naopak nastavujes ty zvenku - to uz zalezi na te ktere knihovne. (procti si k ni dokumentaci, nebo zdrojaky).
Pokud ma knihovna priklad pouziti, kde nastavis slave select, tak ho muzes nastavit na libovolny volny pin a je na tobe, abys zaridil, ze pro to zarizeni ten pin poveden a spravny pin zarizeni.
Pokud pouzivas shield, tak tam je to dano zapojenim toho shieldu, ktery pin shiledu jde na ktery pin toho obvodu na nem. Pokud se ti shiledy v tomto netlucou, skvele, pokud se tlucou, tak si musis pomoct jinak - bude je pripojis dratama a povedes si je jak potrebujes, nebo na tom shieldu prerusis ten spoj pro slave/chip-select a pritahnes si ho jinam.
Se shildama si ten pin musis nastavit v programu podle zapojeni toho shieldu.