Arduino SPI

Serial Peripheral Interface (SPI) magistralė yra nuosekliojo ryšio sistema, kuri naudoja iki keturių laidininkų, dažniausiai tris. Vienas laidininkas naudojamas duomenims priimti, vienas duomenims siųsti, vienas sinchronizuoti, o kitas pasirinkti įrenginį, su kuriuo bus palaikomas ryšys. Tai pilnas dvipusis ryšys, o tai reiškia, kad duomenys siunčiami ir gaunami vienu metu. Duomenų perdavimo sparta yra didesnė nei I2C ryšio sistemoje.

SPI naudoja keturis sujungimo laidus:

SCK – tai serijinis laikrodis, valdomas pagrindinio kompiuterio.

MOSI – tai pagrindinė išvestis / pagalbinė įvestis.

MISO – tai pagrindinė įvestis / pagalbinė išvestis.

SS – tai pagalbinis įrenginio pasirinkimo laidas.

SPI paleidimui reikalingos kelios esminės funkcijos kurias gausite į savo programą įterpę SPI.h biblioteką:

  • SPI.begin()
  • SPI.setClockDivider(divider)
  • SPI.transfer(val)
  • SPI.beginTransaction(SPISettings(speedMaximum, dataOrder, dataMode))

Norint duomenų perdavimui sujungti dvi Arduino plokštes tarpusavyje sujungsime šiuos pinus:

  • SS -> pin’as 10
  • MOSI -> pin’as 11
  • MISO -> pin‘as 12
  • SCK -> pin’as 13

Arduino SPI

 

#include <SPI.h>  

void setup (void) {    

Serial.begin(115200);    

digitalWrite(SS, HIGH);    

SPI.begin ();    

SPI.setClockDivider(SPI_CLOCK_DIV8);

}

void loop (void) {    

char c;    

digitalWrite(SS, LOW);   

for (const char * p = "Hello, world!\r" ; c = *p; p++) {      

SPI.transfer (c);      

Serial.print(c);    

}    

digitalWrite(SS, HIGH);    

delay(2000);

}


Socialiniai tinklai
Pasiekite mūsų bendruomenę socialinėje erdvėje
Siekiame suburti tvirta ir draugiška bendruomene socialiniuose tinkluose, kuri bus pasiekiama ir atvira visiems.
Facebook
Youtube
Github
Codepen
LinkedIn
Instagram
Bendruomenė
Arduinopagalba.lt
Nesvarbu ar tu ieškai informacijos ar nori ją perduoti, mūsų bendruomenėje laukiami visi. Siekiame, kad projektas ne tik teiktų informaciją, bet ir padėtų surasti bendraminčius.
Prisijungti