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" //⑥