#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)~