1. Hardware [kembali]
2. Rangkaian Simulasi [kembali]
3. Flowchart [kembali]
4. Listing Program [kembali]
//MASTER
//Master
#include <SPI.h> #define button 2 void setup() { digitalWrite(SS,HIGH); SPI.begin(); SPI.setClockDivider(SPI_CLOCK_DIV8); pinMode(button,INPUT_PULLUP); Serial.begin(9600); } void loop() { char c; int nilai=digitalRead(button); if(nilai==0) { digitalWrite(SS,LOW); for (const char *p = "Hello, world!\r"; c=*p;p++){ SPI.transfer (c); Serial.print(c); } digitalWrite(SS,HIGH); delay(2000); Serial.print("1"); } else { Serial.print("2"); } delay(200); } |
//SLAVE
//Slave
#include <SPI.h> #define led 7 char buff[50]; volatile byte indx; volatile boolean process; void setup() { pinMode(MISO, OUTPUT); SPCR |= _BV(SPE); indx = 0; process = false; SPI.attachInterrupt(); pinMode(led, OUTPUT); Serial.begin(9600); } ISR(SPI_STC_vect) { byte c = SPDR; if (indx < sizeof buff) { buff[indx++] = c; if (c == '\r') process = true; } } void loop() { if (process) { process = false; Serial.println (buff); indx = 0; digitalWrite(led, HIGH); delay(2000); } else { digitalWrite(led, LOW); } } |
Prinsip Kerja Komunikasi SPI
pada komunikasi SPI merupakan komunikasi dua arah sinkron artinya slave dan master dapat berkomunikasi dua arah secara bersama secara sinkron yang di atur oleh clock. Pada SPI ini membutuhkan 3 buah pin komunikasi yaitu MISO, MOSI, dan SCLK dan 1 buah pin SS/CS untuk mengatur slave atau chip nya. Jadi pada komunikasi SPI ini terdapat pin MOSI yang megirimkan data dari Master ke Slave sedangkan pin MISO yang berfungsi meminta data dari Slave ke Master. Pada pin SCLK akan disinkronkan data data tadi. MOSI dapat memilih Slave mana yang akan dikirimkan data berdasarkan Slave Select yang diatur pada pin SS.
Bentuk komunikasi SPI
Data yang dikirimkan bergeser satu per satu dari bit pertama hingga bit terakhir. Setelah register bergeser keluar, berarti master dan slave sudah bertukar data. Lalu selanjutnya akan bergantian slave dan master. Jika data yang dikirim banyak, maka shift register akan diisi ulang dengan data yang baru. Lalu proses pengirimannya pun diulang
6. Video [kembali]
7. Link Download [kembali]
Download rangkaian disini
Download video simulasi disini
Download HTML disini
Tidak ada komentar:
Posting Komentar