Lazurite 日本語リファレンス


SDカード


概要

SDカードライブラリはSPI接続のSDカードを使用するための関数群です。

SPI接続のSDカードへのアクセスやファイル/フォルダ操作のためのSD関数群と、ファイルを読み書きするためのFile関数群で構成されます。使用できるSDカードは、SDHCまでのFAT16/FAT32フォーマット、最大サイズは32GBです。SDXCカードは非サポートです。

本ライブラリを使用するためには、LazuriteIDE上の左ペイン(ライブラリ)から、"SD"と"RTC"、"SPI"のチェックボックスを有効にしてください。
※SDカードライブラリはファイル/フォルダの操作でタイムスタンプが必要で、RTCライブラリを使用しています。

SDカードをSPIで接続するため、MOSI/MISO/SCLK以外にスレーブデバイス識別用のSSピンを使用します。詳しくはSPIを参照してください。

 

関数

SD.begin(csPin);

SDカードの使用を開始するための関数です。SSピン番号csPinを指定します。

boolean SD.exists(filepath);

filepath(フルパス)で指定したファイルまたはフォルダの存在を確認する関数です。

SD.mkdir(filepath);

指定したフォルダを作成する関数です。

*

SD.open(filepath, mode, fileptr);

指定したモードmodeでファイルを開く関数です。

SD.remove(filepath);

指定したファイルを削除する関数です。

SD.rmdir(filepath);

指定したフォルダを削除する関数です。

+

File.init(fileptr);

fileptrの内容を初期化します。

*

int File.available(fileptr);

ファイルから読み込む残りのバイト数を返す関数です。

*

File.close(fileptr);

ファイルを閉じる関数です。

*

File.flush(fileptr);

キャッシュされた内容をSDカードに書き出す関数です。

*

int File.peek(fileptr);

read()と異なり、読み込み位置を移動せずに1文字読み込む関数です。繰り返すと同じ文字を読み込みます。

*

unsigned long File.position(fileptr);

次に読み込む、または、書き出す位置を返す関数です。

*

File.print(fileptr, buf);

指定した文字列をファイルに書き出す関数です。
※write()に比べてパフォーマンスが落ちます。

*

File.println(fileptr, buf);

指定した文字列に改行コードを付加して、ファイルに書き出す関数です。
※write()に比べてパフォーマンスが落ちます。

*

File.seek(fileptr, pos);

次に読み込む、または、書き出す位置を指定した位置に移動する関数です。
※write()に比べてパフォーマンスが落ちます。

*

unsigned long File.size(fileptr);

ファイルサイズを返す関数です。

*

File.read(fileptr, buf, nbyte);

ファイルからnbyte分読み込み、bufに格納する関数です。

*

File.write(fileptr, buf, nbyte);

bufをnbyte分、ファイルに書き出す関数です。

*

boolean File.isDirectory(fileptr);

フォルダかどうかを返す関数です。

*

File.openNextFile(fileptr, ret, mode);

指定したモードmodeで次のファイル、またはフォルダを開く関数です。

*

File.rewindDirectory(fileptr);

最初のファイルに戻す関数です。openNextFile()と併せて使用します。

          *    Arduinoと差異がある関数です。
         +    Arduinoになく、Lazuriteにある関数です。 

 

サンプル

SDカードライブラリサンプルの共通設定は以下のとおりです。

 

Benchmark

本サンプルは、1MBのデータをファイルに書き出す時間と読み込む時間をms単位で計測し、シリアルモニタに表示します。

※本サンプルはルートフォルダにtest.datというファイルを作成します。実行前にtest.datというファイルがないことを確認してください。

 

CardInfo

本サンプルは、カードタイプとFATの種類(FAT16/32)、SDカードサイズをシリアルモニタに表示します。これらの情報はAPIでは取得できず、直接構造体メンバ変数を参照しています。詳しくはライブラリのソースコードを参照してください。

 

DumpFile

本サンプルは、4KBのテキストファイルを作成し、その内容を読み込んでシリアルモニタに表示します。

※本サンプルはルートフォルダにdatafile.txtというファイルを作成します。実行前にdatafile.txtというファイルがないことを確認してください。

 

Files

本サンプルは、ファイルの存在の確認と作成、および消去を実行します。

※本サンプルはルートフォルダにexample.txtというファイルを作成します。実行前にexample.txtというファイルがないことを確認してください。

 

ListFiles

本サンプルは、SDカード上のファイルの名前とサイズを取得し、シリアルモニタに一覧表示します。

 

MkRmvDir

本サンプルは、フォルダを作成し、作成したフォルダ内にファイルを作成します。また、作成したフォルダ内のファイルを消去し、作成したフォルダを消去します。

※本サンプルはルートフォルダにtestというフォルダを作成します。実行前にtestというフォルダがないことを確認してください。

 

ReadWrite

本サンプルは、ファイルを追記モードで開いて、16バイトのテキストデータを追加書き込みし、内容を読み込んでシリアルモニタに表示します。

※本サンプルはルートフォルダにtest.txtというファイルを作成します。実行前にtest.txtというファイルがないことを確認してください。