ソースを参照

Add ReadBenchmark example

main
PaulStoffregen 8年前
コミット
a30143bebd
1個のファイルの変更76行の追加0行の削除
  1. +76
    -0
      examples/ReadBenchmark/ReadBenchmark.ino

+ 76
- 0
examples/ReadBenchmark/ReadBenchmark.ino ファイルの表示

@@ -0,0 +1,76 @@
#include <SerialFlash.h>
#include <SPI.h>

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() {
}


読み込み中…
キャンセル
保存