bruno LARNAUDIE
/
Usb
main.cpp@0:2063c10a1022, 2011-08-28 (annotated)
- Committer:
- slowness
- Date:
- Sun Aug 28 16:16:43 2011 +0000
- Revision:
- 0:2063c10a1022
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
slowness | 0:2063c10a1022 | 1 | #include "mbed.h" |
slowness | 0:2063c10a1022 | 2 | #include "MSCFileSystem.h" |
slowness | 0:2063c10a1022 | 3 | |
slowness | 0:2063c10a1022 | 4 | #define FSNAME "msc" |
slowness | 0:2063c10a1022 | 5 | #define LOCAL "local" |
slowness | 0:2063c10a1022 | 6 | |
slowness | 0:2063c10a1022 | 7 | Serial pc(USBTX,USBRX); |
slowness | 0:2063c10a1022 | 8 | MSCFileSystem msc(FSNAME); |
slowness | 0:2063c10a1022 | 9 | LocalFileSystem local(LOCAL); |
slowness | 0:2063c10a1022 | 10 | |
slowness | 0:2063c10a1022 | 11 | void lire_repertoire(struct dirent *p, DIR *d); |
slowness | 0:2063c10a1022 | 12 | void copie_prog(FILE *fichier_source,FILE *fichier_copie); |
slowness | 0:2063c10a1022 | 13 | |
slowness | 0:2063c10a1022 | 14 | int main() |
slowness | 0:2063c10a1022 | 15 | { |
slowness | 0:2063c10a1022 | 16 | pc.baud(9600); |
slowness | 0:2063c10a1022 | 17 | DIR *d,*b; |
slowness | 0:2063c10a1022 | 18 | struct dirent *p,*q; |
slowness | 0:2063c10a1022 | 19 | char temp[64]; |
slowness | 0:2063c10a1022 | 20 | FILE *fichier1,*fichier2,*fichier3; |
slowness | 0:2063c10a1022 | 21 | FILE *fcopie; |
slowness | 0:2063c10a1022 | 22 | |
slowness | 0:2063c10a1022 | 23 | pc.printf("==============================================\n\r"); |
slowness | 0:2063c10a1022 | 24 | pc.printf("USB Mass storage demo program for mbed LPC1768\n\r"); |
slowness | 0:2063c10a1022 | 25 | pc.printf("==============================================\n\r"); |
slowness | 0:2063c10a1022 | 26 | |
slowness | 0:2063c10a1022 | 27 | d = opendir("/" FSNAME); |
slowness | 0:2063c10a1022 | 28 | b = opendir("/" LOCAL); |
slowness | 0:2063c10a1022 | 29 | |
slowness | 0:2063c10a1022 | 30 | pc.printf("\nList of files on the Usb:\n\r"); |
slowness | 0:2063c10a1022 | 31 | lire_repertoire(p,d); |
slowness | 0:2063c10a1022 | 32 | pc.printf("\nList of files on Mbed :\n\r"); |
slowness | 0:2063c10a1022 | 33 | lire_repertoire(q,b); |
slowness | 0:2063c10a1022 | 34 | } |
slowness | 0:2063c10a1022 | 35 | |
slowness | 0:2063c10a1022 | 36 | |
slowness | 0:2063c10a1022 | 37 | void copie_prog(FILE *fichier_source,FILE *fichier_copie){ |
slowness | 0:2063c10a1022 | 38 | char buffer[512]; |
slowness | 0:2063c10a1022 | 39 | int NbLus; |
slowness | 0:2063c10a1022 | 40 | |
slowness | 0:2063c10a1022 | 41 | pc.printf("\n\nCopiage du fichier en cours..."); |
slowness | 0:2063c10a1022 | 42 | |
slowness | 0:2063c10a1022 | 43 | if (fichier_source == NULL){ |
slowness | 0:2063c10a1022 | 44 | pc.printf("Could not open source file \r"); |
slowness | 0:2063c10a1022 | 45 | } |
slowness | 0:2063c10a1022 | 46 | |
slowness | 0:2063c10a1022 | 47 | if (fichier_copie == NULL){ |
slowness | 0:2063c10a1022 | 48 | fclose(fichier_source); |
slowness | 0:2063c10a1022 | 49 | pc.printf("Could not open destination file \r"); |
slowness | 0:2063c10a1022 | 50 | } |
slowness | 0:2063c10a1022 | 51 | |
slowness | 0:2063c10a1022 | 52 | while ((NbLus = fread(buffer, 1, 512, fichier_source)) != 0) |
slowness | 0:2063c10a1022 | 53 | fwrite(buffer, 1, NbLus, fichier_copie); |
slowness | 0:2063c10a1022 | 54 | |
slowness | 0:2063c10a1022 | 55 | fclose(fichier_copie); |
slowness | 0:2063c10a1022 | 56 | fclose(fichier_source); |
slowness | 0:2063c10a1022 | 57 | |
slowness | 0:2063c10a1022 | 58 | pc.printf("Fini\n\r"); |
slowness | 0:2063c10a1022 | 59 | } |
slowness | 0:2063c10a1022 | 60 | |
slowness | 0:2063c10a1022 | 61 | |
slowness | 0:2063c10a1022 | 62 | void lire_repertoire(struct dirent *p, DIR *d){ |
slowness | 0:2063c10a1022 | 63 | char compteur=0; |
slowness | 0:2063c10a1022 | 64 | if ( d != NULL ){ |
slowness | 0:2063c10a1022 | 65 | while ( (p = readdir(d)) != NULL ){ |
slowness | 0:2063c10a1022 | 66 | compteur++; |
slowness | 0:2063c10a1022 | 67 | pc.printf(" %d %s\n\r",compteur, p->d_name); |
slowness | 0:2063c10a1022 | 68 | } |
slowness | 0:2063c10a1022 | 69 | } |
slowness | 0:2063c10a1022 | 70 | else{ |
slowness | 0:2063c10a1022 | 71 | pc.printf("Could not open directory!\r"); |
slowness | 0:2063c10a1022 | 72 | } |
slowness | 0:2063c10a1022 | 73 | } |