I have errors with this program.
Dependencies: mbed FATFileSystem
main.cpp@0:ebf86c956c58, 2012-07-22 (annotated)
- Committer:
- carlos_nascimento08
- Date:
- Sun Jul 22 20:01:51 2012 +0000
- Revision:
- 0:ebf86c956c58
Error debug
Who changed what in which revision?
User | Revision | Line number | New 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 | } |