I tried SD card Read Write test. Result is success.

Dependencies:   SDFileSystem mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "SDFileSystem.h"
00003  
00004  
00005 //Create an SDFileSystem object
00006 //SDFileSystem sd(PA_7, PA_6, PA_5, PA_15, "sd");// MOSI, MISO, SCK, CS
00007 SDFileSystem sd(D11, D12, D13, D10, "sd");// MOSI, MISO, SCK, CS
00008 Serial pc(USBTX, USBRX);
00009  
00010 int main() {
00011 //    pc.baud(19200);
00012     pc.baud(9600);
00013     for(int i=5; i>0; i--) 
00014     {
00015         pc.printf("Wait %i seconds..\r\n",i);
00016         wait(1);
00017     }
00018     pc.printf("Initializing\r\n");
00019     
00020     //Mount the filesystem
00021  
00022 //    sd.mount();
00023     
00024     //Perform a write test
00025     pc.printf("\nWriting to SD card...");
00026     FILE *fp = fopen("/sd/sdtest.txt", "a+");
00027     
00028     wait(2);
00029     if (fp != NULL) {
00030         fprintf(fp, "We're writing to an SD card!");
00031         fclose(fp);
00032         pc.printf("success!\n");
00033     } else {
00034         pc.printf("failed!\n");
00035     }
00036  
00037     //Perform a read test
00038     pc.printf("Reading from SD card...");
00039     fp = fopen("/sd/sdtest.txt", "r");
00040     if (fp != NULL) {
00041         char c = fgetc(fp);
00042         if (c == 'W')
00043             pc.printf("success!\n");
00044         else
00045             pc.printf("incorrect char (%c)!\n", c);
00046         fclose(fp);
00047     } else {
00048         pc.printf("failed!\n");
00049     }
00050  
00051     //Unmount the filesystem
00052 //     sd.unmount();
00053 }