SD保存

Dependencies:   SDFileSystem

Dependents:   ADC_DMA receiver

Committer:
k0050288
Date:
Mon Aug 20 02:28:29 2018 +0000
Revision:
2:db4599aff06a
Parent:
0:f3e712dbbb8b
SD??

Who changed what in which revision?

UserRevisionLine numberNew contents of line
k0050288 0:f3e712dbbb8b 1 /*
k0050288 0:f3e712dbbb8b 2 * ログファイル
k0050288 0:f3e712dbbb8b 3 */
k0050288 0:f3e712dbbb8b 4 #include "SD.h"
k0050288 0:f3e712dbbb8b 5
k0050288 0:f3e712dbbb8b 6 //Create an SDFileSystem object
k0050288 0:f3e712dbbb8b 7 SDFileSystem sd(D11, D12, D13, D10, "sd");
k0050288 0:f3e712dbbb8b 8
k0050288 0:f3e712dbbb8b 9 SD::SD()
k0050288 0:f3e712dbbb8b 10 {
k0050288 0:f3e712dbbb8b 11
k0050288 0:f3e712dbbb8b 12 }
k0050288 0:f3e712dbbb8b 13
k0050288 0:f3e712dbbb8b 14 void SD::init()
k0050288 0:f3e712dbbb8b 15 {
k0050288 0:f3e712dbbb8b 16 //Mount the filesystem
k0050288 0:f3e712dbbb8b 17 sd.mount();
k0050288 0:f3e712dbbb8b 18
k0050288 0:f3e712dbbb8b 19 updateLogNo();
k0050288 0:f3e712dbbb8b 20 }
k0050288 0:f3e712dbbb8b 21
k0050288 0:f3e712dbbb8b 22 void SD::setData(int data1, int data2)
k0050288 0:f3e712dbbb8b 23 {
k0050288 0:f3e712dbbb8b 24 Txdata1 = data1;
k0050288 0:f3e712dbbb8b 25 Txdata2 = data2;
k0050288 0:f3e712dbbb8b 26 }
k0050288 0:f3e712dbbb8b 27
k0050288 0:f3e712dbbb8b 28 void SD::write()
k0050288 0:f3e712dbbb8b 29 {
k0050288 0:f3e712dbbb8b 30 static bool isEntry = false;
k0050288 0:f3e712dbbb8b 31
k0050288 0:f3e712dbbb8b 32 if (isEntry == false) {
k0050288 0:f3e712dbbb8b 33 logFp = fopen(logFileName, "w");
k0050288 0:f3e712dbbb8b 34 fprintf(logFp, "Time[ms],TxSinc[LSB]\n");
k0050288 0:f3e712dbbb8b 35 isEntry = true;
k0050288 0:f3e712dbbb8b 36 }
k0050288 0:f3e712dbbb8b 37
k0050288 0:f3e712dbbb8b 38 fprintf(logFp,"%d,%d,\n",Txdata1,Txdata2);
k0050288 0:f3e712dbbb8b 39 }
k0050288 0:f3e712dbbb8b 40
k0050288 0:f3e712dbbb8b 41 void SD::updateLogNo()
k0050288 0:f3e712dbbb8b 42 {
k0050288 0:f3e712dbbb8b 43 FILE* fp;
k0050288 0:f3e712dbbb8b 44 char buf[32];
k0050288 0:f3e712dbbb8b 45 int fileNo;
k0050288 0:f3e712dbbb8b 46
k0050288 0:f3e712dbbb8b 47 if ((fp = fopen(LOG_NO_FILE_NAME, "r")) == NULL) {
k0050288 0:f3e712dbbb8b 48 ; // エラー処理
k0050288 0:f3e712dbbb8b 49 }
k0050288 0:f3e712dbbb8b 50
k0050288 0:f3e712dbbb8b 51 fgets(buf, sizeof(buf), fp);
k0050288 0:f3e712dbbb8b 52 sscanf(buf, "%d", &fileNo);
k0050288 0:f3e712dbbb8b 53 fclose(fp);
k0050288 0:f3e712dbbb8b 54
k0050288 2:db4599aff06a 55 sprintf(logFileName, "/sd/logSync%03d.csv", fileNo);
k0050288 0:f3e712dbbb8b 56
k0050288 0:f3e712dbbb8b 57 if ((fp = fopen(LOG_NO_FILE_NAME, "w")) == NULL) {
k0050288 0:f3e712dbbb8b 58 ; // エラー処理
k0050288 0:f3e712dbbb8b 59 }
k0050288 0:f3e712dbbb8b 60
k0050288 0:f3e712dbbb8b 61 fprintf(fp, "%d\n", fileNo + 1);
k0050288 0:f3e712dbbb8b 62 fclose(fp);
k0050288 0:f3e712dbbb8b 63 }
k0050288 0:f3e712dbbb8b 64
k0050288 0:f3e712dbbb8b 65 void SD::finish()
k0050288 0:f3e712dbbb8b 66 {
k0050288 0:f3e712dbbb8b 67 fclose(logFp);
k0050288 0:f3e712dbbb8b 68 sd.unmount();
k0050288 0:f3e712dbbb8b 69 }