
Just a test for read/write operations on SD-Card, using Nucleo-f411re
Dependencies: SDFileSystem mbed
Diff: main.cpp
- 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(); +}