SDカードへのアクセス
今回はSDカードへアクセスするプログラミングを作成しました。
SDカード用意
M5stackでは16GB以下のmicroSDカードが使えるみたいなので、用意するときは容量に注意して購入してください。
ちなみに私のはamazonセールで安くなっていたよくわからないメーカの16GBのmicroSDカードです。
SDカードにアクセスする手順
初期化の関数です。
ただし、この関数は M5.begin(); の中でおこなわれているので、不要です。
SD.begin();
ファイルオープンで引数にはファイルパスを指定します。
戻り値にはFileオブジェクトを返します。
File f = SD.open("/hello.txt");
テキストファイルの内容を表示するコード
お見苦しいかもしれませんけど、こちらがコードです。
#include <M5Stack.h> void setup() { unsigned int auiSize = 0; unsigned int auiCnt = 0; // M5Stackの初期化 M5.begin(); // 文字サイズを変更 M5.Lcd.setTextSize(2); // ファイルオープン File f = SD.open("/hello.txt"); if (f) { M5.Lcd.println("File open successful"); // ファイルサイズ取得 auiSize = f.size(); // サイズ分ループ for( auiCnt = 0; auiCnt < auiSize; auiCnt++ ) { // ファイルの中身を表示 f.seek(auiCnt); M5.Lcd.printf("%c",f.read()); } // ファイルクローズ f.close(); } else { M5.Lcd.println("File open error hello.txt"); } } void loop() { }
今回はファイルパスが固定になってしまっているのがイマイチかな。。。
sdカードへアクセスしてテキストファイルの中身を表示できた。
— yamanonono (@yamano_no_no) September 14, 2019
sdカードが挿入されてないとエラー表示。#m5stack pic.twitter.com/VyAZcvnpCO