Just a test for read/write operations on SD-Card, using Nucleo-f411re

Dependencies:   SDFileSystem mbed

Revision:
3:9cb3dba414b9
Parent:
2:08c13f9a3d5c
--- a/main.cpp	Fri Nov 18 08:25:14 2016 +0000
+++ b/main.cpp	Wed May 17 15:00:14 2017 +0000
@@ -1,21 +1,52 @@
-#include "mbed.h"
+// SD Card Test
 
-//------------------------------------
-// Hyperterminal configuration
-// 9600 bauds, 8-bit data, no parity
-//------------------------------------
+#include "mbed.h"
+#include <fstream>
+#include "SDFileSystem.h"
 
-Serial pc(SERIAL_TX, SERIAL_RX);
+SDFileSystem sd(D4, D5, D3, D10, "sd");
+            //(mosi,miso,sclk,cs,name)
 
-DigitalOut myled(LED1);
+char buffer[4096];
 
-int main()
-{
-    int i = 1;
-    pc.printf("Hello World !\n");
-    while(1) {
-        wait(1);
-        pc.printf("This program runs since %d seconds.\n", i++);
-        myled = !myled;
+void readTest1() {
+    printf("\n\rreadTest1() Read /sd/DirX/textfile.txt");
+    FileHandle* file = sd.open("/sd/DirX/textfile.txt", O_RDONLY);
+    if (file == NULL) {
+        printf("\n\r\tFailed sd.open(...)");
+    } else {
+        printf("\n\rSuccess sd.open(...)");
     }
 }
+
+void readTest2() {
+    printf("\n\rreadTest2() fopen /sd/DirX/textfile.txt");
+    FILE *fp = fopen("/sd/DirX/textfile.txt", "r");
+    if (fp == NULL) {
+        printf("\n\r\tFailed fopen(...)");
+    } else {
+        printf("\n\r\tSuccess fopen(...)");
+    }
+}
+
+void writeFile(){
+
+    const char* filePath = "/sd/DirX/mydir/sdtest.txt";
+    printf("\n\rwriteFile() Write to SD card: %s", filePath);
+    mkdir("/sd/DirX/mydir", 0777);
+    FILE *fp = fopen("/sd/DirX/mydir/sdtest.txt", "w");
+    if(fp == NULL) {
+        printf("\n\r\tFailed writeFile()");
+    }
+    else{
+        fprintf(fp, "\n\rSuccess writeFile()");
+        fclose(fp);
+    }
+}
+
+int main() {
+    printf("\n\rSD Card Test");
+    readTest1();
+    readTest2();
+    writeFile();
+}