esemi00
Dependencies: mbed FatFileSystemCpp
Diff: mainUSB3.cpp
- Revision:
- 0:2369be4f42cd
diff -r 000000000000 -r 2369be4f42cd mainUSB3.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mainUSB3.cpp Wed Jan 20 05:26:38 2021 +0000 @@ -0,0 +1,61 @@ +//mainUSB3.cpp +#include "mbed.h" +#include "MSCFileSystem.h" +#define FSNAME "usb"//FATファイルシステムのマウント名(任意) /マウント名 がルートディレクトリ + +Serial pc(USBTX,USBRX); +MSCFileSystem msc(FSNAME); +AnalogIn ond(p15); // 温度センサ LM61 10mV/℃ 0℃ 600mV + +int main(){ +DIR *d; //ディレクトリ + struct dirent *p; //ディレクトリ内情報(ファイル名、ファイルタイプ) + char buf_f[1024]; //ファイル読み出し時のバッファ + float a,b,c ;//温度計算時使用 + + d = opendir("/" FSNAME "/web"); //① // /usb/webをオープン + + pc.printf("\nList of files on the flash drive:\r\n"); + + if ( d != NULL ) { + while ( (p = readdir(d)) != NULL ) { //ディレクトリ内情報読み出し + pc.printf(" - %s\n", p->d_name); //ファイル名を表示 + } + } else { + pc.printf("Could not open directory!\r\n"); + } + + pc.printf("\r\nwrite file test\r\n"); + + FILE *write_fp = fopen("/" FSNAME "/web/ond_test.txt", "aw");//② //追加書き(a)および新規書き込み(w) + if(write_fp != NULL) { + //ファイルがオープンできた + a = ond.read(); // LM61 0.01V/ ℃ 0 ℃ 0.6V (b - 0.6)/0.01 + b = a * 3.3;//③ + c = b * 100 - 60;//④ + fprintf(write_fp,"ond=%f\r\n", c);//⑤ + pc.printf("%f V:%f C:%f\n", a, b, c); + fclose(write_fp); + } + + pc.printf("\r\nread file test\r\n"); + FILE *read1_fp = fopen("/" FSNAME "/web/ond_test.txt", "r"); //⑥ //ファイル読み込み(r) + if(read1_fp != NULL) { + //ファイルがオープンできた + while( NULL != fgets(buf_f, sizeof(buf_f), read1_fp) ) { + pc.printf("%s", buf_f); + //ファイル読み込み用バッファメモリを初期化 + memset(buf_f, 0, sizeof(buf_f));//これがないと文字化けみたいになる + } + fclose(read1_fp); + } +} + + +// "/" FSNAME "/web" //① +// "/" FSNAME "/web/ond_test.txt", "aw" //② +// a * 3.3;//③ +// b * 100 - 60;//④ +// write_fp,"ond=%f\r\n", c//⑤ +// "/" FSNAME "/web/ond_test.txt", "r" //⑥ +