#author("2020-04-23T22:22:04+09:00","default:kuran","kuran")
#author("2020-04-23T22:24:28+09:00","default:kuran","kuran")
[[戻る>pyBadge]]

*ファイル入出力 [#xedcf46a]
ファイルを書き込んで読み込むサンプルプログラムです。~
*準備 [#j95daec8]
PCと接続したときにファイルを読み書きするにはPyBadgeに1度CircuitPythonをインストールする必要があります。~
[[開発環境インストール(CircuitPython)>pyBadge/開発環境インストール(CircuitPython)]]をご覧ください。~
この作業をせずサンプルプログラムを動作させた場合は「Not found filesystem」を表示して停止します。~
*設定 [#d1aa8ca8]
[ツール]-[USB Stack]を[TinyUSB]に設定するとPCと接続したときにファイルを読み書きできるようになります。~
#ref(FileSampleSetting.png)
*サンプルプログラム [#q276cfff]
 #include <Adafruit_Arcada.h>
 
 #if !defined(USE_TINYUSB)
   #error("Please select TinyUSB for the USB stack!")
 #endif
 
 Adafruit_Arcada arcada;
 
 void setup()
 {
 	Serial.begin(9600);
 	arcada.arcadaBegin();
 	arcada.displayBegin();
 	arcada.setBacklight(255);
 	arcada.display->fillRect(0, 0, 160, 128, ARCADA_BLACK);
 	arcada.display->setTextColor(ARCADA_WHITE);
 	arcada.display->setCursor(0, 0);
 	arcada.display->print("FileSample");
 
 	// Initialize filesystem
 	arcada.filesysBeginMSD();
 
 	// Check FAT system
 	if(arcada.filesysBegin() == false)
 	{
 		arcada.haltBox("Not found filesystem");
 	}
 
 	// Write test
 	char* filename = "/FileSample/sample.txt";
 	char* sampleText = "sample text";
 	if(arcada.exists(filename) == true)
 	{
 		arcada.remove(filename);
 	}
 	File file = arcada.open(filename, O_WRITE | O_CREAT | O_TRUNC);
 	file.write(sampleText, strlen(sampleText));
 	file.close();
 	arcada.display->setCursor(0, 20);
 	if(arcada.exists(filename) == true)
 	{
 		arcada.display->print("Successful write file");
 	}
 	else
 	{
 		arcada.display->print("Can not write file");
 	}
 
 	// Read test
 	arcada.display->setCursor(0, 40);
 	if(arcada.exists(filename) == true)
 	{
 		char buffer[1024];
 		File file = arcada.open(filename, O_READ);
 		int filesize = file.fileSize();
 		file.read(buffer, filesize);
 		file.close();
 		buffer[filesize] = '\0';
 		arcada.display->print("Successful read file");
 		arcada.display->setCursor(0, 50);
 		arcada.display->print(buffer);
 	}
 	else
 	{
 		arcada.display->print("File not found");
 	}
 }
 
 void loop()
 {
 }
*実行結果 [#f1ce650e]
#ref(FileSamplePyBadge.jpg)
*サンプルプログラムのダウンロード [#w97651c3]
#ref(FileSample.zip)~

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS