Example program of using USB mass storage device (USB flash disk) with STM32F407VET6 boards (compatible with Seed Arch Max). This is a fork of https://os.mbed.com/users/va009039/code/F401RE-USBHostMSD_HelloWorld/

Dependencies:   mbed FATFileSystem USBHost-STM32F4

main.cpp

Committer:
mladen278
Date:
2019-11-14
Revision:
1:f1ba83d3df51
Parent:
0:4ea663e6aa00
Child:
2:c44e11315bd3

File content as of revision 1:f1ba83d3df51:

#include "USBHostMSD.h"

DigitalOut  led1(LED1);
char bkvar=73;
char bkvar1=74;
char bkvar2=75;
int main()
{
    printf("Starting..\r\n");

    USBHostMSD  msd("usb");
    
    printf("Connecting the device\r\n");
    
    if (!msd.connect()) {
        error("USB mass storage device not found.\n");
    }
    
  
    FILE*  fp = fopen("/usb/kvar.txt", "w");
    
    if (fp) {
        //fprintf(fp, "%i", bkvar);
         //for (int i = 0; i < 30; i++) { 
           // bkvar=bkvar++;
            
            fprintf(fp, " %c", bkvar);
            led1 = !led1;
        

        //fprintf(fp, "\n");
        fclose(fp);
    }
    fp = fopen("/usb/kvar.txt", "w");
    
    if (fp) {
        //fprintf(fp, "%i", bkvar);
         //for (int i = 0; i < 30; i++) { 
           // bkvar=bkvar++;
            
            fprintf(fp, " %c", bkvar1);
            led1 = !led1;
        

        //fprintf(fp, "\n");
        fclose(fp);
    }
    fp = fopen("/usb/kvar.txt", "a");
    
    if (fp) {
        //fprintf(fp, "%i", bkvar);
         //for (int i = 0; i < 30; i++) { 
           // bkvar=bkvar++;
            
            fprintf(fp, " %c", bkvar2);
            led1 = !led1;
        

        //fprintf(fp, "\n");
        fclose(fp);
    }
    

 fp = fopen("/usb/kvar.txt", "r");
    if (fp) {
        int n = 0;
        while (1) {
            int c = fgetc(fp);
            if (c == EOF) {
                break;
            }

            printf("%c", c);
            n++;
            led1 = !led1;
        }

        fclose(fp);
        printf("%d bytes\n", n);
    }

    while (1) {
        led1 = !led1;
        wait_ms(200);
    }
}