esemi00
Dependencies: mbed FatFileSystemCpp
mainUSB3.cpp
00001 //mainUSB3.cpp 00002 #include "mbed.h" 00003 #include "MSCFileSystem.h" 00004 #define FSNAME "usb"//FATファイルシステムのマウント名(任意) /マウント名 がルートディレクトリ 00005 00006 Serial pc(USBTX,USBRX); 00007 MSCFileSystem msc(FSNAME); 00008 AnalogIn ond(p15); // 温度センサ LM61 10mV/℃ 0℃ 600mV 00009 00010 int main(){ 00011 DIR *d; //ディレクトリ 00012 struct dirent *p; //ディレクトリ内情報(ファイル名、ファイルタイプ) 00013 char buf_f[1024]; //ファイル読み出し時のバッファ 00014 float a,b,c ;//温度計算時使用 00015 00016 d = opendir("/" FSNAME "/web"); //① // /usb/webをオープン 00017 00018 pc.printf("\nList of files on the flash drive:\r\n"); 00019 00020 if ( d != NULL ) { 00021 while ( (p = readdir(d)) != NULL ) { //ディレクトリ内情報読み出し 00022 pc.printf(" - %s\n", p->d_name); //ファイル名を表示 00023 } 00024 } else { 00025 pc.printf("Could not open directory!\r\n"); 00026 } 00027 00028 pc.printf("\r\nwrite file test\r\n"); 00029 00030 FILE *write_fp = fopen("/" FSNAME "/web/ond_test.txt", "aw");//② //追加書き(a)および新規書き込み(w) 00031 if(write_fp != NULL) { 00032 //ファイルがオープンできた 00033 a = ond.read(); // LM61 0.01V/ ℃ 0 ℃ 0.6V (b - 0.6)/0.01 00034 b = a * 3.3;//③ 00035 c = b * 100 - 60;//④ 00036 fprintf(write_fp,"ond=%f\r\n", c);//⑤ 00037 pc.printf("%f V:%f C:%f\n", a, b, c); 00038 fclose(write_fp); 00039 } 00040 00041 pc.printf("\r\nread file test\r\n"); 00042 FILE *read1_fp = fopen("/" FSNAME "/web/ond_test.txt", "r"); //⑥ //ファイル読み込み(r) 00043 if(read1_fp != NULL) { 00044 //ファイルがオープンできた 00045 while( NULL != fgets(buf_f, sizeof(buf_f), read1_fp) ) { 00046 pc.printf("%s", buf_f); 00047 //ファイル読み込み用バッファメモリを初期化 00048 memset(buf_f, 0, sizeof(buf_f));//これがないと文字化けみたいになる 00049 } 00050 fclose(read1_fp); 00051 } 00052 } 00053 00054 00055 // "/" FSNAME "/web" //① 00056 // "/" FSNAME "/web/ond_test.txt", "aw" //② 00057 // a * 3.3;//③ 00058 // b * 100 - 60;//④ 00059 // write_fp,"ond=%f\r\n", c//⑤ 00060 // "/" FSNAME "/web/ond_test.txt", "r" //⑥ 00061
Generated on Sat Apr 15 2023 21:30:41 by 1.7.2