SD保存

Dependencies:   SDFileSystem

Dependents:   ADC_DMA receiver

Revision:
0:f3e712dbbb8b
Child:
2:db4599aff06a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SD.cpp	Tue Jul 17 04:50:14 2018 +0000
@@ -0,0 +1,69 @@
+/*
+* ログファイル
+*/
+#include "SD.h"
+
+//Create an SDFileSystem object
+SDFileSystem sd(D11, D12, D13, D10, "sd");
+
+SD::SD()
+{
+          
+}
+
+void SD::init()
+{   
+    //Mount the filesystem
+    sd.mount();
+    
+    updateLogNo();    
+}
+
+void SD::setData(int data1, int data2)
+{
+    Txdata1 = data1;
+    Txdata2 = data2;
+}
+
+void SD::write()
+{
+    static bool isEntry = false;
+   
+    if (isEntry == false) {
+        logFp = fopen(logFileName, "w");
+        fprintf(logFp, "Time[ms],TxSinc[LSB]\n");
+        isEntry = true;
+    }
+        
+    fprintf(logFp,"%d,%d,\n",Txdata1,Txdata2);
+}
+
+void SD::updateLogNo()
+{
+    FILE* fp;
+    char  buf[32];
+    int   fileNo;
+    
+    if ((fp = fopen(LOG_NO_FILE_NAME, "r")) == NULL) {
+        ; // エラー処理
+    }
+    
+    fgets(buf, sizeof(buf), fp);
+    sscanf(buf, "%d", &fileNo);
+    fclose(fp);
+    
+    sprintf(logFileName, "/sd/logADC%03d.csv", fileNo);
+    
+    if ((fp = fopen(LOG_NO_FILE_NAME, "w")) == NULL) {
+        ; // エラー処理
+    }
+    
+    fprintf(fp, "%d\n", fileNo + 1);
+    fclose(fp);
+}
+
+void SD::finish()
+{
+    fclose(logFp);
+    sd.unmount();
+}