![](/media/cache/profiles/f095cedd23b99f1696fc8caecbcf257e.jpg.50x50_q85.jpg)
http://mbed.org/users/okini3939/notebook/sdhc-test/
Dependencies: FatFileSystemCpp SDHC_FileSystem mbed
main.cpp
00001 #include "mbed.h" 00002 #include "SDHCFileSystem.h" 00003 00004 #define SIZE 1024 // KB 00005 00006 Serial pc(USBTX, USBRX); 00007 DigitalOut myled(LED1); 00008 SDFileSystem sd(p5, p6, p7, p8, "sd"); 00009 00010 float wtest (int b, int d) { 00011 int i; 00012 int s = b / d; 00013 char buf[d]; 00014 FILE *fp; 00015 Timer t; 00016 00017 fp = fopen("/sd/sdhc_test.dat", "w"); 00018 if (!fp) return 0; 00019 myled = 1; 00020 t.reset(); 00021 t.start(); 00022 for (i = 0; i < s; i ++) { 00023 fwrite(buf, sizeof(unsigned char), d, fp); 00024 } 00025 fclose(fp); 00026 t.stop(); 00027 myled = 0; 00028 return t.read(); 00029 } 00030 00031 float rtest (int b, int d) { 00032 int i; 00033 int s = b / d; 00034 char buf[d]; 00035 FILE *fp; 00036 Timer t; 00037 00038 fp = fopen("/sd/sdhc_test.dat", "r"); 00039 if (!fp) return 0; 00040 myled = 1; 00041 t.reset(); 00042 t.start(); 00043 for (i = 0; i < s; i ++) { 00044 fread(buf, sizeof(unsigned char), d, fp); 00045 } 00046 fclose(fp); 00047 t.stop(); 00048 myled = 0; 00049 return t.read(); 00050 } 00051 00052 int main() { 00053 00054 pc.baud(115200); 00055 pc.printf("start\r\n"); 00056 00057 if (sd.disk_initialize()) return -1; 00058 00059 pc.printf("write 1: %f KB/sec\r\n", (double)SIZE / wtest(SIZE * 1024, 1)); 00060 pc.printf("read 1: %f KB/sec\r\n", (double)SIZE / rtest(SIZE * 1024, 1)); 00061 pc.printf("write 100: %f KB/sec\r\n", (double)SIZE / wtest(SIZE * 1024, 100)); 00062 pc.printf("read 100: %f KB/sec\r\n", (double)SIZE / rtest(SIZE * 1024, 100)); 00063 pc.printf("write 10k: %f KB/sec\r\n", (double)SIZE / wtest(SIZE * 1024, 10000)); 00064 pc.printf("read 10k: %f KB/sec\r\n", (double)SIZE / rtest(SIZE * 1024, 10000)); 00065 00066 return 0; 00067 }
Generated on Wed Jul 13 2022 20:47:11 by
![doxygen](doxygen.png)