I have errors with this program.

Dependencies:   mbed FATFileSystem

Committer:
carlos_nascimento08
Date:
Sun Jul 22 20:01:51 2012 +0000
Revision:
0:ebf86c956c58
Error debug

Who changed what in which revision?

UserRevisionLine numberNew contents of line
carlos_nascimento08 0:ebf86c956c58 1 #include "mbed.h"
carlos_nascimento08 0:ebf86c956c58 2 #include "MSCFileSystem.h"
carlos_nascimento08 0:ebf86c956c58 3 //#include <stat.h>
carlos_nascimento08 0:ebf86c956c58 4
carlos_nascimento08 0:ebf86c956c58 5 #define FSNAME "msc"
carlos_nascimento08 0:ebf86c956c58 6 MSCFileSystem msc(FSNAME);
carlos_nascimento08 0:ebf86c956c58 7
carlos_nascimento08 0:ebf86c956c58 8 int main()
carlos_nascimento08 0:ebf86c956c58 9 {
carlos_nascimento08 0:ebf86c956c58 10 DIR *d;
carlos_nascimento08 0:ebf86c956c58 11 struct dirent *p;
carlos_nascimento08 0:ebf86c956c58 12 //struct stat st;
carlos_nascimento08 0:ebf86c956c58 13 //char path[PATH_MAX];
carlos_nascimento08 0:ebf86c956c58 14
carlos_nascimento08 0:ebf86c956c58 15 printf("\n\n================================\n");
carlos_nascimento08 0:ebf86c956c58 16 printf("USB Mass storage demo program for mbed LPC1768\n");
carlos_nascimento08 0:ebf86c956c58 17 printf("================================\n\n");
carlos_nascimento08 0:ebf86c956c58 18
carlos_nascimento08 0:ebf86c956c58 19 d = opendir("/" FSNAME);
carlos_nascimento08 0:ebf86c956c58 20
carlos_nascimento08 0:ebf86c956c58 21 printf("\nList of files on the flash drive:\n");
carlos_nascimento08 0:ebf86c956c58 22 if ( d != NULL )
carlos_nascimento08 0:ebf86c956c58 23 {
carlos_nascimento08 0:ebf86c956c58 24 while ( (p = readdir(d)) != NULL )
carlos_nascimento08 0:ebf86c956c58 25 {
carlos_nascimento08 0:ebf86c956c58 26 printf(" - %s\n", p->d_name);
carlos_nascimento08 0:ebf86c956c58 27 /* no <stat.h> on mbed, it seems :/
carlos_nascimento08 0:ebf86c956c58 28 sprintf(path, "/"FSNAME"/%s", p->d_name);
carlos_nascimento08 0:ebf86c956c58 29 if ( stat(path, &st) == 0 )
carlos_nascimento08 0:ebf86c956c58 30 {
carlos_nascimento08 0:ebf86c956c58 31 if ( S_ISDIR(st.st_mode) )
carlos_nascimento08 0:ebf86c956c58 32 printf(" <directory>\n");
carlos_nascimento08 0:ebf86c956c58 33 else
carlos_nascimento08 0:ebf86c956c58 34 printf(" %d\n", st.st_size);
carlos_nascimento08 0:ebf86c956c58 35 }
carlos_nascimento08 0:ebf86c956c58 36 else
carlos_nascimento08 0:ebf86c956c58 37 {
carlos_nascimento08 0:ebf86c956c58 38 printf(" ???\n");
carlos_nascimento08 0:ebf86c956c58 39 }*/
carlos_nascimento08 0:ebf86c956c58 40 }
carlos_nascimento08 0:ebf86c956c58 41 }
carlos_nascimento08 0:ebf86c956c58 42 else
carlos_nascimento08 0:ebf86c956c58 43 {
carlos_nascimento08 0:ebf86c956c58 44 error("Could not open directory!");
carlos_nascimento08 0:ebf86c956c58 45 }
carlos_nascimento08 0:ebf86c956c58 46 printf("\nTesting file write:\n");
carlos_nascimento08 0:ebf86c956c58 47 FILE *fp = fopen( "/" FSNAME "/msctest.txt", "w");
carlos_nascimento08 0:ebf86c956c58 48 if ( fp == NULL )
carlos_nascimento08 0:ebf86c956c58 49 {
carlos_nascimento08 0:ebf86c956c58 50 error("Could not open file for write\n");
carlos_nascimento08 0:ebf86c956c58 51 }
carlos_nascimento08 0:ebf86c956c58 52 fprintf(fp, "Hello mass storage!");
carlos_nascimento08 0:ebf86c956c58 53 fclose(fp);
carlos_nascimento08 0:ebf86c956c58 54 printf("\n - OK\n");
carlos_nascimento08 0:ebf86c956c58 55
carlos_nascimento08 0:ebf86c956c58 56 printf("\nTesting file read:\n");
carlos_nascimento08 0:ebf86c956c58 57 fp = fopen( "/" FSNAME "/msctest.txt", "r");
carlos_nascimento08 0:ebf86c956c58 58 if ( fp == NULL )
carlos_nascimento08 0:ebf86c956c58 59 {
carlos_nascimento08 0:ebf86c956c58 60 error("Could not open file for read\n");
carlos_nascimento08 0:ebf86c956c58 61 }
carlos_nascimento08 0:ebf86c956c58 62 char buf[256];
carlos_nascimento08 0:ebf86c956c58 63 if ( NULL == fgets(buf, sizeof(buf), fp) )
carlos_nascimento08 0:ebf86c956c58 64 {
carlos_nascimento08 0:ebf86c956c58 65 error("Error reading from file\n");
carlos_nascimento08 0:ebf86c956c58 66 }
carlos_nascimento08 0:ebf86c956c58 67 fclose(fp);
carlos_nascimento08 0:ebf86c956c58 68 printf("\n - OK, read string: '%s'\n\n", buf);
carlos_nascimento08 0:ebf86c956c58 69 }