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:
hudakz
Date:
2019-02-19
Revision:
0:4ea663e6aa00

File content as of revision 0:4ea663e6aa00:

#include "USBHostMSD.h"

DigitalOut  led1(LED1);

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/test1.txt", "a");
    if (fp) {
        fprintf(fp, "Hello from mbed.\n");
        for (int i = 0; i < 21; i++) {
            fprintf(fp, " %d", i);
            led1 = !led1;
        }

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

    fp = fopen("/usb/test1.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);
    }
}