Nucleo F3030K8とSDカードスロットを用いた処理時間の測定
Dependencies: SDFileSystem mbed
main.cpp@0:e07fa2de601f, 2017-02-09 (annotated)
- Committer:
- RyotaNakamura
- Date:
- Thu Feb 09 11:04:01 2017 +0000
- Revision:
- 0:e07fa2de601f
Nucleo F303K8?SD??????????????????
Who changed what in which revision?
User | Revision | Line number | New 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 | } |