esemi00
Dependencies: mbed FatFileSystemCpp
mainUSB3.cpp
- Committer:
- esemi00
- Date:
- 2021-01-20
- Revision:
- 0:2369be4f42cd
File content as of revision 0:2369be4f42cd:
//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" //⑥