Stream
名称
Streamクラス 文字ベースのストリームの基本クラス
概要
Streamは、文字ベースおよびバイナリベースのストリームの基本クラスです。 直接呼び出されるのではなく、それに依存する関数を使用するたびに呼び出されます。Streamは、Printクラスの派生クラスです。Printクラスのメンバ関数の利用も可能です。StreamはArduinoの読み込み機能を定義します。 read()またはそれに類似したメソッドを使用するコア機能を使用する場合は、Streamクラスで呼び出すことができます。 print()のような関数の場合、StreamはPrintクラスから継承します。
Streamに依存するライブラリのいくつかは次のとおりです:
Streamクラスリファレンス
■ Stream()
Streamクラスの基本部の初期化を行います。
■ virtual int available() = 0
available()は、ストリームで読み込み可能なバイト数を取得します。 これはすでに到着したバイトのみに適用されます。
この関数は真仮想関数であり、Streamクラスを継承するクラス(Wire、Serialなど)によって実装する必要があります。
戻り値
読み込み可能なバイト数
■ virtual int read() = 0
入力ストリームバッファから文字を読み込みます。
この関数は真仮想関数であり、Streamクラスを継承するクラス(Wire、Serialなど)によって実装する必要があります。
戻り値
受信データしたバイトデータ(データがない場合は-1)
■ virtual int peek() = 0
次のバイトに進むことなくファイルから1バイトを読み込みます。 つまり、peek()を連続して呼び出すと、次のread()の呼び出しと同じ値が返されます。
この関数は真仮想関数であり、Streamクラスを継承するクラス(Wire、Serialなど)によって実装する必要があります。
戻り値
読んだバイトデータ(データがない場合は-1)
■ virtual void flush() = 0
すべての送信文字が送信されたらバッファをクリアします。
この関数は真仮想関数であり、Streamクラスを継承するクラス(Wire、Serialなど)によって実装する必要があります。
■ void setTimeout(unsigned long timeout)
ストリームデータを待つ最大ミリ秒を設定します。デフォルトは1秒です。
引数
timeout :タイムアウト時間(ミリ秒)
■ unsigned long getTimeout(void)
設定したタイムアウト時間を返します。
戻り値
タイムアウト時間(ミリ秒)
■ bool find(char *target)
■ bool find(uint8_t *target)
ターゲット文字列が見つかるまでストリームからデータを読み込みます。
引数
target :ターゲット文字列
戻り値
ターゲット文字列が見つかった場合はtrueを返し、
タイムアウトした場合はfalseを返します(setTimeout()を参照)。
■ bool find(char *target, size_t length)
■ bool find(uint8_t *target, size_t length)
与えられた長さのターゲット文字列が見つかるまで、ストリームからデータを読み込みます。
引数
target :ターゲット文字列
length :ターゲット文字列の長さ
戻り値
ターゲット文字列が見つかった場合はtrueを返し、
タイムアウトした場合はfalseを返します(setTimeout()を参照)。
■ bool find(char target)
ターゲット文字が見つかるまでストリームからデータを読み込みます。
引数
target :ターゲット文字
戻り値
ターゲット文字が見つかった場合はtrueを返し、
タイムアウトした場合はfalseを返します(setTimeout()を参照)。
■ bool findUntil(char *target, char *terminator)
■ bool findUntil(uint8_t *target, char *terminator)
find()として検索しますが、終端文字列が見つかった場合は検索が終了します。
引数
target :ターゲット文字
terminator :終端文字列
戻り値
ターゲット文字列が見つかった場合はtrueを返し、
終端文字列が見つかった、またはタイムアウトした場合はfalseを返します。
■ bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen)
■ bool findUntil(uint8_t *target, size_t targetLen, char *terminate, size_t termLen)
指定された長さのターゲット文字列が見つかるまで、ストリームからデータを読み取ります。
ターミネータ文字列が見つかった場合、検索は終了します。
引数
target :ターゲット文字列
targetLen :ターゲット文字列の長さ
terminate :終端文字列
termLen :終端文字列の長さ
戻り値
ターゲット文字列が見つかった場合はtrueを返し、
終端文字列が見つかった、またはタイムアウトした場合はfalseを返します。
■ long parseInt()
現在の位置から最初の有効なlong型整数値(4バイト)を返します。
数字でない最初の文字(またはマイナス記号)はスキップされます。数値ではない最初の文字で終了します。
戻り値
変換した数値を返します。対象が数値でない場合は0を返します。
■ float parseFloat()
parseIntの浮動小数点バージョンです。小数点も考慮します。
戻り値
変換した数値を返します。対象が数値でない場合は0を返します。
■ size_t readBytes( char *buffer, size_t length)
■ size_t readBytes( uint8_t *buffer, size_t length)
指定した長さの文字列を読み込みます。
指定した長さの文字列の読み込みが完了した場合、またはタイムアウト(setTimeout()を参照)の時点でバッファに読み込んだ文字数を返します。
文字列には文字列終端子(0x00)は付加されません。
引数
buffer :読み込み文字列格納バッファ
length :読み込む文字列の長さ
戻り値
バッファに読み込んだ文字数
■ size_t readBytesUntil( char terminator, char *buffer, size_t length)
■ size_t readBytesUntil( char terminator, uint8_t *buffer, size_t length)
指定した長さの文字列を読み込みます。
指定した長さの文字列の読み込みが完了した場合、終端文字が見つかった場合、
またはタイムアウト(setTimeout()を参照)の時点でバッファに読み込んだ文字数を返します。
文字列には文字列終端子(0x00)は付加されません。
引数
terminator :終端文字
buffer :読み込み文字列格納バッファ
length :読み込む文字列の長さ
戻り値
バッファに読み込んだ文字数
■ String readString()
文字列を読み込み、Stringクラスのオブジェクトとして返します。
文字列終端子(0x00)を読み込んだ場合、またはタイムアウト(setTimeout()を参照)の時点で読み込みを終了します。
戻り値
読み込んだ文字列
■ String readStringUntil(char terminator)
文字列を読み込み、Stringクラスのオブジェクトとして返します。
指定した終端文字を読み込んだ場合、またはタイムアウト(setTimeout()を参照)の時点で読み込みを終了します。
引数
terminator :終端文字
戻り値
読み込んだ文字列
関連項目
/icons/hr.icon