esemi00

Dependencies:   mbed FatFileSystemCpp

Committer:
esemi00
Date:
Wed Jan 20 05:26:38 2021 +0000
Revision:
0:2369be4f42cd
esemi00

Who changed what in which revision?

UserRevisionLine numberNew contents of line
esemi00 0:2369be4f42cd 1 //mainUSB3.cpp
esemi00 0:2369be4f42cd 2 #include "mbed.h"
esemi00 0:2369be4f42cd 3 #include "MSCFileSystem.h"
esemi00 0:2369be4f42cd 4 #define FSNAME "usb"//FATファイルシステムのマウント名(任意) /マウント名 がルートディレクトリ
esemi00 0:2369be4f42cd 5
esemi00 0:2369be4f42cd 6 Serial pc(USBTX,USBRX);
esemi00 0:2369be4f42cd 7 MSCFileSystem msc(FSNAME);
esemi00 0:2369be4f42cd 8 AnalogIn ond(p15); // 温度センサ LM61 10mV/℃ 0℃ 600mV
esemi00 0:2369be4f42cd 9
esemi00 0:2369be4f42cd 10 int main(){
esemi00 0:2369be4f42cd 11 DIR *d; //ディレクトリ
esemi00 0:2369be4f42cd 12 struct dirent *p; //ディレクトリ内情報(ファイル名、ファイルタイプ)
esemi00 0:2369be4f42cd 13 char buf_f[1024]; //ファイル読み出し時のバッファ
esemi00 0:2369be4f42cd 14 float a,b,c ;//温度計算時使用
esemi00 0:2369be4f42cd 15
esemi00 0:2369be4f42cd 16 d = opendir("/" FSNAME "/web"); //① // /usb/webをオープン
esemi00 0:2369be4f42cd 17
esemi00 0:2369be4f42cd 18 pc.printf("\nList of files on the flash drive:\r\n");
esemi00 0:2369be4f42cd 19
esemi00 0:2369be4f42cd 20 if ( d != NULL ) {
esemi00 0:2369be4f42cd 21 while ( (p = readdir(d)) != NULL ) { //ディレクトリ内情報読み出し
esemi00 0:2369be4f42cd 22 pc.printf(" - %s\n", p->d_name); //ファイル名を表示
esemi00 0:2369be4f42cd 23 }
esemi00 0:2369be4f42cd 24 } else {
esemi00 0:2369be4f42cd 25 pc.printf("Could not open directory!\r\n");
esemi00 0:2369be4f42cd 26 }
esemi00 0:2369be4f42cd 27
esemi00 0:2369be4f42cd 28 pc.printf("\r\nwrite file test\r\n");
esemi00 0:2369be4f42cd 29
esemi00 0:2369be4f42cd 30 FILE *write_fp = fopen("/" FSNAME "/web/ond_test.txt", "aw");//② //追加書き(a)および新規書き込み(w)
esemi00 0:2369be4f42cd 31 if(write_fp != NULL) {
esemi00 0:2369be4f42cd 32 //ファイルがオープンできた
esemi00 0:2369be4f42cd 33 a = ond.read(); // LM61 0.01V/ ℃    0 ℃ 0.6V (b - 0.6)/0.01
esemi00 0:2369be4f42cd 34 b = a * 3.3;//③
esemi00 0:2369be4f42cd 35 c = b * 100 - 60;//④
esemi00 0:2369be4f42cd 36 fprintf(write_fp,"ond=%f\r\n", c);//⑤
esemi00 0:2369be4f42cd 37 pc.printf("%f V:%f C:%f\n", a, b, c);
esemi00 0:2369be4f42cd 38 fclose(write_fp);
esemi00 0:2369be4f42cd 39 }
esemi00 0:2369be4f42cd 40
esemi00 0:2369be4f42cd 41 pc.printf("\r\nread file test\r\n");
esemi00 0:2369be4f42cd 42 FILE *read1_fp = fopen("/" FSNAME "/web/ond_test.txt", "r"); //⑥ //ファイル読み込み(r)
esemi00 0:2369be4f42cd 43 if(read1_fp != NULL) {
esemi00 0:2369be4f42cd 44 //ファイルがオープンできた
esemi00 0:2369be4f42cd 45 while( NULL != fgets(buf_f, sizeof(buf_f), read1_fp) ) {
esemi00 0:2369be4f42cd 46 pc.printf("%s", buf_f);
esemi00 0:2369be4f42cd 47 //ファイル読み込み用バッファメモリを初期化
esemi00 0:2369be4f42cd 48 memset(buf_f, 0, sizeof(buf_f));//これがないと文字化けみたいになる
esemi00 0:2369be4f42cd 49 }
esemi00 0:2369be4f42cd 50 fclose(read1_fp);
esemi00 0:2369be4f42cd 51 }
esemi00 0:2369be4f42cd 52 }
esemi00 0:2369be4f42cd 53
esemi00 0:2369be4f42cd 54
esemi00 0:2369be4f42cd 55 // "/" FSNAME "/web" //①
esemi00 0:2369be4f42cd 56 // "/" FSNAME "/web/ond_test.txt", "aw" //②
esemi00 0:2369be4f42cd 57 // a * 3.3;//③
esemi00 0:2369be4f42cd 58 // b * 100 - 60;//④
esemi00 0:2369be4f42cd 59 // write_fp,"ond=%f\r\n", c//⑤
esemi00 0:2369be4f42cd 60 // "/" FSNAME "/web/ond_test.txt", "r" //⑥
esemi00 0:2369be4f42cd 61