Dependencies:   mbed

Committer:
slowness
Date:
Sun Aug 28 16:16:43 2011 +0000
Revision:
0:2063c10a1022

        

Who changed what in which revision?

UserRevisionLine numberNew 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 }