#include #include const int FlashChipSelect = 6; // digital pin for flash chip CS pin //const int FlashChipSelect = 21; // Arduino 101 built-in SPI Flash void setup() { //uncomment these if using Teensy audio shield //SPI.setSCK(14); // Audio shield has SCK on pin 14 //SPI.setMOSI(7); // Audio shield has MOSI on pin 7 //uncomment these if you have other SPI chips connected //to keep them disabled while using only SerialFlash //pinMode(4, INPUT_PULLUP); //pinMode(10, INPUT_PULLUP); Serial.begin(9600); // wait for Arduino Serial Monitor while (!Serial) ; delay(100); Serial.println("All Files on SPI Flash chip:"); if (!SerialFlash.begin(FlashChipSelect)) { while (1) { Serial.println("Unable to access SPI Flash chip"); delay(2500); } } SerialFlash.opendir(); int filecount = 0; while (1) { char filename[64]; uint32_t filesize; if (SerialFlash.readdir(filename, sizeof(filename), filesize)) { Serial.print(" "); Serial.print(filename); Serial.print(", "); Serial.print(filesize); Serial.print(" bytes"); SerialFlashFile file = SerialFlash.open(filename); if (file) { unsigned long usbegin = micros(); unsigned long n = filesize; char buffer[256]; while (n > 0) { unsigned long rd = n; if (rd > sizeof(buffer)) rd = sizeof(buffer); file.read(buffer, rd); n = n - rd; } unsigned long usend = micros(); Serial.print(", read in "); Serial.print(usend - usbegin); Serial.print(" us, speed = "); Serial.print((float)filesize * 1000.0 / (float)(usend - usbegin)); Serial.println(" kbytes/sec"); file.close(); } else { Serial.println(" error reading this file!"); } filecount = filecount + 1; } else { if (filecount == 0) { Serial.println("No files found in SerialFlash memory."); } break; // no more files } } } void loop() { }