Go Down

Topic: [Arduino DUE] gestione SD (Read 2615 times) previous topic - next topic

F4LK0

ciao ho acquistato su ebay il seguente display.
http://www.ebay.it/itm/121057702584?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649

per quanto riguarda la sua gestione nessun problema. ho provato ad usare l'SD integrata e qua ho qualche problema.

dallo schema della shield ho visto che il CS dell'SD si trova al pin 53 quindi ho fatto questo a livello software

Code: [Select]

#define CS_SD 53

  pinMode(4, OUTPUT);
  if(!SD.begin(CS_SD))
    Serial.println("errore inizializzazione SD");
  DELAY(1000)


HO ANCHE PROVATO AD USARE  pinMode(10, OUTPUT);

ma la SD.begin(...) ritorna sempre false.

avete idea su dove sbaglio?

brunello22

Code: [Select]
pinMode(4, OUTPUT);

se il CS_SD e' sul 53, perche' gli dici il pin4 ?
abilita il pin corretto

Code: [Select]
pinMode(53, OUTPUT);

F4LK0

Code: [Select]
void SDInit() {
  //SD
  pinMode(10, OUTPUT);
  pinMode(53, OUTPUT);
  if(!SD.begin(53))
    Serial.println("errore inizializzazione SD");
  delay(1000);
}


ho provato cosi ma il risultato non cambia

il motivo di questo   pinMode(10, OUTPUT);  è che ho letto che se si usa un PIN differente dal Hardware SS allora quest'ultimo deve essere messo come output

leo72

Studiati bene il Reference. La libreria SD si basa sulla SPI:
http://arduino.cc/en/Reference/SPI

Qui trovi i pin usati sulla DUE.

F4LK0

in effetti mi ero dimenticato per quanto riguarda l'SPI si è connesso e ci siamo.

l'inica cosa che crea dei dubbi è il CS dell'SD che dallo schema dello shield del display si trova sul PIN 53

leo72

Il pin SS non è legato alle linee SPI, è un pin qualunque che serve solo a selezionare il device con cui dialoghi, in modo da poter montare più periferiche SPI insieme. Ad esempio, sulla Ethernet shield ci sono 2 periferiche SPI: il chip Ethernet e la SD, con 2 pin SS differenti: in questo modo possono convivere ed essere utilizzate dall'Arduino semplicemente cambiando lo stato del pin SS della periferica con cui vuoi dialogare.

Se il tuo shield usa il pin 53, devi impostare in output quello.
Dalla documentazione che si può scaricare dalla pagina del venditore:
http://coldtears.lin3.siteonlinetest.com/files/3.5F.zip
si vede che il pin CS_SD va al pin 38 del connettore del display. A quale pin si aggancia sulla tua DUE?

brunello22

La shield per l'LCD ha un jumper ( JP8 ), che di default disabilita l'SD

Quote
On board SD - disabled (JP8 opened)

leo72

4 occhi son meglio di 2  XD

F4LK0

allora eccomi scusate il ritardo.
lo shield del display ha una sd ma anche il display è dotato di SD. quindi si da come ho capito l'SD dello shield è disabilitato. mentre dovrebbe essere utilizzabile senza problemi quello del display. però ho paura che quello sia pilotato dal jump9 a questo punto e anche quello forse è aperto????.....

leo72

Ti arrabbi se ti dico che non si è capito nulla?  ;)

Quote
lo shield del display ha una sd ma anche il display è dotato di SD

brunello22

Quote
lo shield del display ha una sd ma anche il display è dotato di SD


vero, non ci avevo fatto caso.
Ma nella foto si vede la scritta
JP4,5,6 - Connect SD and  TP Data interface

che, poi, guardando sullo schema, JP4,5,6 sono i segnali ISP per il Touch...  pero' lo schema e' di una V1.2 e la foto di una V1.1
mah

F4LK0


Ti arrabbi se ti dico che non si è capito nulla?  ;)

Quote
lo shield del display ha una sd ma anche il display è dotato di SD



no :D

spiego meglio
sia il display che lo shield hanno montato uno slot SD.
Io volevo usare lo slot del display, che se non ho capito male comunica tramite  l'SPI e richiede un pin CS, che pensavo fosse il 53 dell'Arduino DUE, ma sembra che cosi non sia.....

F4LK0

forse ho capito.

nella sezione "ARDUINO DUE CONNECTION" dello schema dello shield è presente un CN4 con scritto PWN e SS0, sulla scheda questi due pin non sono cablati (manca la strip di connessione) vuoi che vuoi che non sia proprio quello il PIN che mi serve per usare l'SD sul display????

questa sera provo a metterci il connettore e provare cosi, infatti risulta essere proprio il PIN10 dell'Arduino DUE

leo72

Ma lo hai comprato lo shield adattatore per la DUE oppure no?

Quote
To use the module on Arduino DUE, please use THIS shield,

F4LK0

si si lo shield lo ho comprato

Go Up