Simple USBHost MSD(USB flash drive) for Nucleo F401RE/FRDM-KL46Z test program

Dependencies:   F401RE-USBHost mbed

Fork of KL46Z-USBHostMSD_HelloWorld by Norimasa Okamoto

Nucleo F401REFRDM-KL46ZでUSBフラッシュメモリ(USB flash drive)を読み書きするテストプログラムです。 /media/uploads/va009039/f401re-msd.jpg

Committer:
va009039
Date:
Fri Jan 31 15:20:34 2014 +0000
Revision:
2:982b2bbbeda4
Parent:
1:88de0ef4739f
Child:
3:4238ec88ddcf
USB hub support.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 1:88de0ef4739f 1 // Simple USBHost MSD(USB Flash drive) for FRDM-KL46Z test program
va009039 0:7012d3c02e58 2 #include "USBHostMSD.h"
va009039 0:7012d3c02e58 3
va009039 1:88de0ef4739f 4 DigitalOut led1(LED_GREEN);
va009039 1:88de0ef4739f 5 DigitalOut led2(LED_RED);
va009039 0:7012d3c02e58 6 #define LED_OFF 1
va009039 0:7012d3c02e58 7 #define LED_ON 0
va009039 0:7012d3c02e58 8
va009039 0:7012d3c02e58 9 int main() {
va009039 0:7012d3c02e58 10 USBHostMSD msd("usb");
va009039 2:982b2bbbeda4 11 if (!msd.connect()) {
va009039 2:982b2bbbeda4 12 error("USB Flash drive not found.\n");
va009039 2:982b2bbbeda4 13 }
va009039 0:7012d3c02e58 14 FILE* fp = fopen("/usb/test1.txt", "a");
va009039 0:7012d3c02e58 15 if (fp) {
va009039 0:7012d3c02e58 16 fprintf(fp, "Hello from FRDM-KL46Z\n");
va009039 1:88de0ef4739f 17 for(int i = 0; i < 21; i++) {
va009039 1:88de0ef4739f 18 fprintf(fp, " %d", i);
va009039 1:88de0ef4739f 19 led2 = !led2;
va009039 1:88de0ef4739f 20 }
va009039 1:88de0ef4739f 21 fprintf(fp, "\n");
va009039 0:7012d3c02e58 22 fclose(fp);
va009039 0:7012d3c02e58 23 }
va009039 0:7012d3c02e58 24 fp = fopen("/usb/test1.txt", "r");
va009039 0:7012d3c02e58 25 if (fp) {
va009039 1:88de0ef4739f 26 int n = 0;
va009039 0:7012d3c02e58 27 while(1) {
va009039 0:7012d3c02e58 28 int c = fgetc(fp);
va009039 0:7012d3c02e58 29 if (c == EOF) {
va009039 0:7012d3c02e58 30 break;
va009039 0:7012d3c02e58 31 }
va009039 0:7012d3c02e58 32 printf("%c", c);
va009039 1:88de0ef4739f 33 n++;
va009039 1:88de0ef4739f 34 led1 = !led1;
va009039 0:7012d3c02e58 35 }
va009039 0:7012d3c02e58 36 fclose(fp);
va009039 1:88de0ef4739f 37 printf("%d bytes\n", n);
va009039 0:7012d3c02e58 38 }
va009039 0:7012d3c02e58 39 led2 = LED_OFF;
va009039 0:7012d3c02e58 40 while(1) {
va009039 0:7012d3c02e58 41 led1 = !led1;
va009039 0:7012d3c02e58 42 wait_ms(200);
va009039 0:7012d3c02e58 43 }
va009039 0:7012d3c02e58 44 }