Simple USBHost MSD(USB flash drive) for Nucleo F401RE/FRDM-KL46Z test program
Dependencies: F401RE-USBHost mbed
Fork of KL46Z-USBHostMSD_HelloWorld by
Nucleo F401REFRDM-KL46ZでUSBフラッシュメモリ(USB flash drive)を読み書きするテストプログラムです。
main.cpp@2:982b2bbbeda4, 2014-01-31 (annotated)
- 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?
User | Revision | Line number | New 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 | } |