Nucleo F3030K8とSDカードスロットを用いた処理時間の測定

Dependencies:   SDFileSystem mbed

Committer:
RyotaNakamura
Date:
Thu Feb 09 11:04:01 2017 +0000
Revision:
0:e07fa2de601f
Nucleo F303K8?SD??????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RyotaNakamura 0:e07fa2de601f 1 /*
RyotaNakamura 0:e07fa2de601f 2 説明
RyotaNakamura 0:e07fa2de601f 3 Nucleo-F303K8とMicroSDを使ったデータ保存のサンプルプログラム
RyotaNakamura 0:e07fa2de601f 4
RyotaNakamura 0:e07fa2de601f 5 以下ピン配置
RyotaNakamura 0:e07fa2de601f 6 Nucleo SDモジュール
RyotaNakamura 0:e07fa2de601f 7 GND-----VSS-----------0V
RyotaNakamura 0:e07fa2de601f 8 +3V3----VDD
RyotaNakamura 0:e07fa2de601f 9 D11-----CMD
RyotaNakamura 0:e07fa2de601f 10 D12-----DAT0
RyotaNakamura 0:e07fa2de601f 11 D13-----CLK
RyotaNakamura 0:e07fa2de601f 12 D9------CD
RyotaNakamura 0:e07fa2de601f 13 */
RyotaNakamura 0:e07fa2de601f 14
RyotaNakamura 0:e07fa2de601f 15 #include "mbed.h"
RyotaNakamura 0:e07fa2de601f 16 #include "SDFileSystem.h"
RyotaNakamura 0:e07fa2de601f 17
RyotaNakamura 0:e07fa2de601f 18 SDFileSystem sd(D11, D12, D13, D9, "sd"); // the pinout on the mbed Cool Components workshop board
RyotaNakamura 0:e07fa2de601f 19 Serial pc(USBTX, USBRX);
RyotaNakamura 0:e07fa2de601f 20 Timer timer1; //SD open
RyotaNakamura 0:e07fa2de601f 21 Timer timer2; //SD 1byte wrinting
RyotaNakamura 0:e07fa2de601f 22 Timer timer3; //SD 8byte writing
RyotaNakamura 0:e07fa2de601f 23 Timer timer4; //SD close
RyotaNakamura 0:e07fa2de601f 24
RyotaNakamura 0:e07fa2de601f 25 int main(){
RyotaNakamura 0:e07fa2de601f 26 int miri=1000;
RyotaNakamura 0:e07fa2de601f 27
RyotaNakamura 0:e07fa2de601f 28 timer1.reset();
RyotaNakamura 0:e07fa2de601f 29 timer1.start();
RyotaNakamura 0:e07fa2de601f 30 FILE *fp = fopen("/sd/sdtest.txt", "w");
RyotaNakamura 0:e07fa2de601f 31 timer1.stop();
RyotaNakamura 0:e07fa2de601f 32 float t1=timer1.read();
RyotaNakamura 0:e07fa2de601f 33 float time1=t1*miri;
RyotaNakamura 0:e07fa2de601f 34
RyotaNakamura 0:e07fa2de601f 35 timer2.reset();
RyotaNakamura 0:e07fa2de601f 36 timer2.start();
RyotaNakamura 0:e07fa2de601f 37 fprintf(fp, "0"); //1byte writing
RyotaNakamura 0:e07fa2de601f 38 timer1.stop();
RyotaNakamura 0:e07fa2de601f 39 float t2=timer2.read();
RyotaNakamura 0:e07fa2de601f 40 float time2=t2*miri;
RyotaNakamura 0:e07fa2de601f 41
RyotaNakamura 0:e07fa2de601f 42 timer3.reset();
RyotaNakamura 0:e07fa2de601f 43 timer3.start();
RyotaNakamura 0:e07fa2de601f 44 fprintf(fp,"12345678"); //8byte writing
RyotaNakamura 0:e07fa2de601f 45 timer1.stop();
RyotaNakamura 0:e07fa2de601f 46 float t3=timer3.read();
RyotaNakamura 0:e07fa2de601f 47 float time3=t3*miri;
RyotaNakamura 0:e07fa2de601f 48
RyotaNakamura 0:e07fa2de601f 49 timer4.reset();
RyotaNakamura 0:e07fa2de601f 50 timer4.start();
RyotaNakamura 0:e07fa2de601f 51 fclose(fp);
RyotaNakamura 0:e07fa2de601f 52 timer4.stop();
RyotaNakamura 0:e07fa2de601f 53 float t4=timer4.read();
RyotaNakamura 0:e07fa2de601f 54 float time4=t4*miri;
RyotaNakamura 0:e07fa2de601f 55 pc.printf("time1= %f ms\ntime2= %f ms\ntime3= %f ms\ntime4= %f ms\n",time1,time2,time3,time4);
RyotaNakamura 0:e07fa2de601f 56 free(fp);
RyotaNakamura 0:e07fa2de601f 57 }