PaulStoffregen / SD

70 stars 41 forks source link

SD listing/writing/reading of Wave files #12

Closed jshoek closed 5 years ago

jshoek commented 5 years ago

I am trying to use the SD list code below to list songs recorded as wave files. When run, it does not list any files even though the files "play" with the Audio Shield Card and other code. Is there a problem in using this list code with audio files as opposed to raw data files? When run with one raw data file as the 1st file in the directory, it will list it plus one of the wav files, but none of the other 33 songs. Am I missing something here?

`/* SD card basic file example

This example shows how to create and destroy an SD card file
The circuit:

File root;

// change this to match your SD shield or module; // Arduino Ethernet shield: pin 4 // Adafruit SD shields and modules: pin 10 // Sparkfun SD shield: pin 8 // Teensy audio board: pin 10 // Teensy 3.5 & 3.6 on-board: BUILTIN_SDCARD // Wiz820+SD board: pin 4 // Teensy 2.0: pin 0 // Teensy++ 2.0: pin 20 const int chipSelect = 10;

void setup() { //UNCOMMENT THESE TWO LINES FOR TEENSY AUDIO BOARD: SPI.setMOSI(7); // Audio shield has MOSI on pin 7 SPI.setSCK(14); // Audio shield has SCK on pin 14

// Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only }

Serial.print("Initializing SD card...");

if (!SD.begin(chipSelect)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done.");

root = SD.open("/");

printDirectory(root, 0);

Serial.println("done!"); }

void loop() { // nothing happens after setup finishes. }

void printDirectory(File dir, int numTabs) { while(true) {

 File entry =  dir.openNextFile();
 if (! entry) {
   // no more files
   //Serial.println("**nomorefiles**");
   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);
 }
 entry.close();

} } `

PaulStoffregen commented 5 years ago

This is the wrong place to ask for help with your program.

Ask on the forum. https://forum.pjrc.com/forums/3-Technical-Support-amp-Questions