system
October 22, 2013, 9:29am
#1
Ciao a tutti.
Vorrei utilizzare una ethernet shield in accoppiata con un DAC MCP4922.
Mi hanno detto che devo stare attento perché entrambe lavorano con SPI .
Mi potete spiegare meglio questa problematica e a cosa potrei andare incontro?
Grazie mille!
gpb01
October 22, 2013, 9:38am
#2
... a nulla, devi solo gestire correttamente i pin che abilitano/disabilitano le singole unità SPI.
SPI, contrariamente ad I2C non usa un indirizzo, ma un pin di abilitazione/disabilitazione e, ovviamente, solo un device per volta deve essere attivo.
Tutto qui ...
Guglielmo
system
October 22, 2013, 9:55am
#3
ok.
Per esempio io ora sto utilizzando, per il DAC i seguenti pin di Arduino:
10->DAC pin 3 (SS-slave select)
13->DAC pin 4 (SCK-clock)
11->DAC pin 5 (MOSI-data out)
Quindi per la SD card dovró utilizzare completamente altri pin?
Oppure posso utlizzare gli stessi pin?
Perché ad esempio in uno degli esempi della SD library c´é scritto:
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4
Gratie per l´aiuto!
gpb01
October 22, 2013, 12:23pm
#4
Inutile spreco di pin ...
... usa per il BUS SPI i pin :
MOSI - pin 11
MISO - pin 12
CLK - pin 13
e attivi il device che ti interessa con i singoli pin che gli dedichi :
DAC SS - pin 3
SD card SS - pin 4
... ricordandoti che quando uno è attivo, l'altro NON lo deve essere !
Guglielmo
system
October 22, 2013, 12:58pm
#5
è proprio questo quello che vorrei capire.
Come faccio ad assicurarmi che solo uno è attivo??
Grazie…
f.schiano:
Come faccio ad assicurarmi che solo uno è attivo??
E'il MASTER che attiva lo slave tramite il pin SS, o CS, ovvero sei tu a decidere quale slave attivare di volta in volta.
gpb01
October 22, 2013, 1:05pm
#7
f.schiano:
Come faccio ad assicurarmi che solo uno è attivo??
... guarda che quei pin li devi manovrare TU quando vuoi usare o meno un certo device ! Quindi, definisci i pin in OUTPUT e poi li mandi LOW o HIGH a secondo di cosa ti serve !
Guglielmo
P.S. : ... magari la libreria per la SD lo fa da sola, ma tu fallo comunque anche a mano ... che così non sbagli
system
October 22, 2013, 3:26pm
#8
Grazie mille . Vi aggiorno appena riesco a fare il tutto!!!