Torsi Pengendali lengan robot dengan gamepad.

bahkan ketika hanya transfer data satu arah. Dalam komunikasi SPI hanya 1 bagian yang mengirimkan clock yang mana akan disebut master dan bagian lainya disebut slave. Dalam SPI, hanya satu sisi menghasilkan sinyal clock biasanya disebut CLK atau SCK untuk Serial Clock. Sisi yang menghasilkan clock disebut master, dan sisi lain disebut slave. Selalu ada hanya satu master yang hampir selalu mikrokontroler, tetapi bisa ada beberapa slave. [16] Ketika data dikirim dari master ke slave, data tersebut dikirim pada garis data yang disebut MOSI Master Out Slave In. Jika slave harus mengirim respon kembali ke master, master akan terus menghasilkan sejumlah siklus clock yang diatur sebelumnya, dan slave akan menempatkan data ke baris data yang ketiga yang disebut miso Master InSlave Out.[16] Perhatikan bahwa SPI adalah full duplex memiliki baris sent dan reveive yang terpisah, dengan demikian dalam situasi tertentu, Anda dapat mengirim dan menerima data pada saat yang sama. Pada Gambar 2.8 diperlihatkan pengiriman clock cycle, data MISO, dan data MISO pada master-slave. Gambar 2.8 Pengiriman Data SPI [16] Baris data berikutnya adalah SS untuk memilih Slave. Ini memberitahu slave yang harus bangun dan menerima mengirim data dan juga digunakan ketika beberapa slave yang terkoneksi untuk memilih salah satu yang ingin diajak komunikasi. Line SS biasanya high jika memutus slave dari bus SPI. Jenis logika ini dikenal sebagai aktif rendah, dan akan sering digunakan untuk mengaktifkan dan me-reset baris. Tepat sebelum data dikirim ke slave, garis dibuat low yang mengaktifkan slave. Ketika selesai menggunakan slave, status dibuat high lagi. Gambar 2.9 Menunjukan penggunaan line SS. Gambar 2.9 SPI Bus Menggunakan Slave-select [16] Transmisi biasanya melibatkan dua shift register seperti pada Gambar 2.10 dari beberapa ukuran kata yang diberikan, seperti delapan bit, satu di master dan satu di slave; mereka terhubung dalam topologi ring virtual. Data biasanya bergeser dari MSB pertama, sementara menggeser bit LSB ke dalam register yang sama. Setelah register yang telah bergeser keluar, master dan slave telah bertukar nilai register. Jika lebih banyak data yang perlu dipertukarkan, pergeseran register akan terisi kembali dan proses berulang. Transmisi dapat terus untuk sejumlah siklus clock. Ketika selesai, master berhenti mengaktifkan sinyal clock, dan biasanya membatalkan pilihan slave. Transmisi sering terdiri dari 8-bit data. Namun, ukuran data lain juga umum, misalnya 16-bit data.