Ciao Pablos e grazie x la risposta,
ho guardato nell' esempio (http://arduino.cc/en/Reference/FileOpenNextFile) e quelle due righe non le vedo... Comunque, ho provato lo stesso ad aggiungerle nel codice dove + mi sembrava logico e la cosa non e' cambiata.
Ho riscritto il codice comprendendo solo l'esempio e le librerie x Tlc :
#include <SD.h>
#include "Tlc5940.h"
#include <SPI.h>
File root;
void setup() {
// You can optionally pass an initial PWM value (0 - 4095) for all channels.
Tlc.init();
// Open serial communications for DEBUG
Serial.begin(9600);
Serial.print("Initializing SD card...");
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// Note that even if it's not used as the CS pin, the hardware SS pin
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
// or the SD library functions will not work.
pinMode(10, OUTPUT);
// utilizzo il pin 8 x evitare problemi in quanto il pin 10 e' usato dal TLC5940.
// Sulla mia SD shield CS e' selezionabile tramite jumper
if (!SD.begin(8)) {
// inserire segnalazione errore n. 1
Serial.println("initialization failed!");
return;
}
Serial.println(" done.");
root = SD.open("/");
}
void printDirectory(File dir, int numTabs) {
while(true) {
File entry = dir.openNextFile();
if (! entry) {
// no more files
Serial.println("**nomorefiles**");
//mancava azzeramento contatore files nell'esempio, preso da versione 1.04,
//necessario visto che printDirectory viene eseguito + volte
dir.rewindDirectory();
entry.close();
break;
}
for (uint8_t i=0; i<numTabs; i++) {
Serial.print('\t');
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println("/");
printDirectory(entry, numTabs+1);
} else {
// files have sizes, directories do not
Serial.print("\t\t");
Serial.println(entry.size(), DEC);
}
}
}
void loop() {
printDirectory(root, 0);
delay(1000);
}
E questo e' l'output sulla seriale :
Initializing SD card... done.
EFFETTI/
CINQUE.005 20164
EFFETDUE.001 6762
EFFETUNO.001 4085
QUATTRO.003 20164
TRE.002 8408
TEST/
**nomorefiles**
**nomorefiles**
**nomorefiles**
EFFETTI/
CINQUE.005 20164
EFFETDUE.001 6762
EFFETUNO.001 4085
QUATTRO.003 20164
TRE.002 8408
TEST/
**nomorefiles**
**nomorefiles**
**nomorefiles**
EFFETTI/
CINQUE.005 20164
EFFETDUE.001 6762
EFFETUNO.001 4085
QUATTRO.003 20164
TRE.002 8408
**nomorefiles**
**nomorefiles**
EFFETTI/
**nomorefiles**
**nomorefiles**
EFFETTI/
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
**nomorefiles**
Come vedi, non e' cambiato un gran che... Anzi, gia' dal 3' giro e' sparita la sottodirectory "test".
Cordialmente, Andres
edit by mod: per favore includi il codice usando gli appositi tag. Grazie...