ECE 4180 Lab 2 Part 13

Dependencies:   SDFileSystem mbed

Fork of SDFileSystem_HelloWorld by mbed official

Committer:
abraha2d
Date:
Tue Oct 09 00:52:07 2018 +0000
Revision:
2:ad4601e7074a
Parent:
0:bdbd3d6fc5d5
Save point

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:bdbd3d6fc5d5 1 #include "mbed.h"
mbed_official 0:bdbd3d6fc5d5 2 #include "SDFileSystem.h"
abraha2d 2:ad4601e7074a 3
abraha2d 2:ad4601e7074a 4 SDFileSystem sd(p11, p12, p13, p14, "sd"); // the pinout on the mbed Cool Components workshop board
abraha2d 2:ad4601e7074a 5
abraha2d 2:ad4601e7074a 6 FILE * pFile;
abraha2d 2:ad4601e7074a 7 long lSize;
abraha2d 2:ad4601e7074a 8 char * buffer;
abraha2d 2:ad4601e7074a 9 size_t result;
abraha2d 2:ad4601e7074a 10
abraha2d 2:ad4601e7074a 11 int main()
abraha2d 2:ad4601e7074a 12 {
abraha2d 2:ad4601e7074a 13 printf("Hello World!\n");
abraha2d 2:ad4601e7074a 14
mbed_official 0:bdbd3d6fc5d5 15 mkdir("/sd/mydir", 0777);
abraha2d 2:ad4601e7074a 16
mbed_official 0:bdbd3d6fc5d5 17 FILE *fp = fopen("/sd/mydir/sdtest.txt", "w");
mbed_official 0:bdbd3d6fc5d5 18 if(fp == NULL) {
mbed_official 0:bdbd3d6fc5d5 19 error("Could not open file for write\n");
mbed_official 0:bdbd3d6fc5d5 20 }
abraha2d 2:ad4601e7074a 21 fprintf(fp, "Hello SD file world");
abraha2d 2:ad4601e7074a 22 fclose(fp);
abraha2d 2:ad4601e7074a 23
abraha2d 2:ad4601e7074a 24 pFile = fopen ( "/sd/mydir/sdtest.txt" , "r" );
abraha2d 2:ad4601e7074a 25 if (pFile==NULL) {
abraha2d 2:ad4601e7074a 26 error ("File error");
abraha2d 2:ad4601e7074a 27 }
abraha2d 2:ad4601e7074a 28
abraha2d 2:ad4601e7074a 29 // obtain file size:
abraha2d 2:ad4601e7074a 30 fseek (pFile , 0 , SEEK_END);
abraha2d 2:ad4601e7074a 31 lSize = ftell (pFile);
abraha2d 2:ad4601e7074a 32 rewind (pFile);
abraha2d 2:ad4601e7074a 33
abraha2d 2:ad4601e7074a 34 // allocate memory to contain the whole file:
abraha2d 2:ad4601e7074a 35 buffer = (char*) malloc (sizeof(char)*lSize);
abraha2d 2:ad4601e7074a 36 if (buffer == NULL) {
abraha2d 2:ad4601e7074a 37 error ("Memory error");
abraha2d 2:ad4601e7074a 38 }
abraha2d 2:ad4601e7074a 39
abraha2d 2:ad4601e7074a 40 // copy the file into the buffer:
abraha2d 2:ad4601e7074a 41 result = fread (buffer,1,lSize,pFile);
abraha2d 2:ad4601e7074a 42 if (result != lSize) {
abraha2d 2:ad4601e7074a 43 error ("Reading error");
abraha2d 2:ad4601e7074a 44 exit (3);
abraha2d 2:ad4601e7074a 45 }
abraha2d 2:ad4601e7074a 46
abraha2d 2:ad4601e7074a 47 /* the whole file is now loaded in the memory buffer. */
abraha2d 2:ad4601e7074a 48 printf(buffer);
abraha2d 2:ad4601e7074a 49
abraha2d 2:ad4601e7074a 50 // terminate
abraha2d 2:ad4601e7074a 51 fclose (pFile);
abraha2d 2:ad4601e7074a 52 free (buffer);
abraha2d 2:ad4601e7074a 53
mbed_official 0:bdbd3d6fc5d5 54 printf("Goodbye World!\n");
mbed_official 0:bdbd3d6fc5d5 55 }