Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "MSCFileSystem.h"
00003 
00004 #define FSNAME "msc"
00005 #define LOCAL "local"
00006 
00007 Serial pc(USBTX,USBRX);
00008 MSCFileSystem msc(FSNAME);
00009 LocalFileSystem local(LOCAL);
00010 
00011 void lire_repertoire(struct dirent *p, DIR *d);
00012 void copie_prog(FILE *fichier_source,FILE *fichier_copie);
00013 
00014 int main()
00015 {
00016     pc.baud(9600);
00017     DIR *d,*b;
00018     struct dirent *p,*q;
00019     char temp[64];
00020     FILE *fichier1,*fichier2,*fichier3;
00021     FILE *fcopie;
00022     
00023     pc.printf("==============================================\n\r");
00024     pc.printf("USB Mass storage demo program for mbed LPC1768\n\r");
00025     pc.printf("==============================================\n\r");
00026     
00027     d = opendir("/" FSNAME);
00028     b = opendir("/" LOCAL);
00029     
00030     pc.printf("\nList of files on the Usb:\n\r");
00031     lire_repertoire(p,d);
00032     pc.printf("\nList of files on Mbed :\n\r");
00033     lire_repertoire(q,b);  
00034 }
00035 
00036 
00037 void copie_prog(FILE *fichier_source,FILE *fichier_copie){        
00038     char buffer[512];
00039     int NbLus;
00040         
00041     pc.printf("\n\nCopiage du fichier en cours...");            
00042     
00043     if (fichier_source == NULL){
00044     pc.printf("Could not open source file \r");                
00045     }
00046     
00047     if (fichier_copie == NULL){
00048     fclose(fichier_source);
00049     pc.printf("Could not open destination file \r");                
00050     } 
00051             
00052     while ((NbLus = fread(buffer, 1, 512, fichier_source)) != 0)
00053     fwrite(buffer, 1, NbLus, fichier_copie);
00054             
00055     fclose(fichier_copie);
00056     fclose(fichier_source);
00057     
00058     pc.printf("Fini\n\r");
00059 }
00060 
00061 
00062 void lire_repertoire(struct dirent *p, DIR *d){
00063     char compteur=0;
00064     if ( d != NULL ){
00065         while ( (p = readdir(d)) != NULL ){
00066         compteur++;
00067             pc.printf(" %d %s\n\r",compteur, p->d_name);           
00068         }
00069     }
00070     else{
00071         pc.printf("Could not open directory!\r");
00072     }
00073 }