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

Dependencies:   SDFileSystem mbed

Files at this revision

API Documentation at this revision

Comitter:
yatuvy
Date:
Wed May 17 15:00:14 2017 +0000
Parent:
2:08c13f9a3d5c
Commit message:
SD-Card Test.; published in order to be added as code for a post seeking for help; due to failure to read the SD-Card data.

Changed in this revision

SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDFileSystem.lib	Wed May 17 15:00:14 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/neilt6/code/SDFileSystem/#e4d2567200db
--- 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();
+}