An example program for the S25FL216K flash memory
Dependencies: S25FL216K_FATFileSystem mbed
Fork of S25FL216K_HelloWorld by
Diff: main.cpp
- Revision:
- 1:e8698224bb08
- Parent:
- 0:5e431050adf7
- Child:
- 3:321618d7c9a5
--- a/main.cpp Wed Jul 31 19:21:41 2013 +0000 +++ b/main.cpp Fri Aug 02 19:01:53 2013 +0000 @@ -7,7 +7,7 @@ void usbCallback(bool available) { if (available) { - FILE *fp = fopen("/USB/usbtest.txt", "r"); + FILE *fp = fopen("/USB/in.txt", "r"); char buffer[100]; fgets (buffer, 100, fp); printf("%s\r\n", buffer); @@ -22,11 +22,12 @@ wait(0.1); printf("Hello World!\r\n"); - FILE *fp = fopen("/USB/usbtest.txt", "w"); + FILE *fp = fopen("/USB/in.txt", "w"); if(fp == NULL) { printf("Could not open file, assuming unformatted disk!\r\n"); printf("Click in the nice popup window to format disk with default settings!\r\n"); + while(1); } else { wait(0.2); fprintf(fp, "Type your text here!"); @@ -35,9 +36,24 @@ //Connect USB flash.connect(); + flash.usbMode(1); //Disconnect USB when files are locally written + + char buffer[101]; + printf("Type your text here! (100 max length)\n"); while(1) { - wait(0.2); + gets(buffer); myled = !myled; + + //Open file for write, keep trying until we succeed + //This is needed because if USB happens to be writing it will fail + while(1) { + fp = fopen("/USB/out.txt", "w"); + if (fp != NULL) + break; + } + fprintf(fp, buffer); + fclose(fp); + } }