名称
Serial.readBytesUntil()
説明
Serial.readBytesUntil()は、シリアルバッファから文字列を配列に読み込む。この関数の終了条件は、以下の順である。指定した長さの文字列が読み込まれるか、タイムアウトすれば終了するか(Serial.setTimeout()参照)、終端文字を検出するか(この場合、指定した終端文字の直前までのデータが返却される)。終端文字自身は、バッファには含まれない。
Serial.readBytesUntil()は、Streamユーティリティクラスを継承している。
書式
シリアルポートから文字を読み込み、終端文字が見つかるまでバッファに格納するには、以下の関数を使う。
Serial.readBytesUntil(character, buffer, length)
C言語シグネチャ(avr)
size_t HardwareSerial::readBytesUntil(char terminator, char *buffer, size_t length);
引数
この関数は以下のオブジェクトと引数を受け付ける。
| Serial | シリアルポートオブジェクト。各ボードで利用可能なシリアルポートオブジェクトは、Serialを参照。 |
| character, terminator | 終端文字。データ型: char。 |
| buffer | 文字列を格納するバッファ。データ型: charあるいはbyte配列。 |
| length | 読み込む文字列の長さ。データ型: size_t。 |
戻り値
バッファに読み込んだ文字列の長さ。0の場合は、lengthパラメータが0以下、入力があるまでにタイムアウトした、他の入力が来る前に終端文字が来た。データ型: size_t。
コード例
以下のコードは、指定した文字が見つかるまで読み、データをバッファに格納し、表示する。
|
|
注意
読みこまれてバッファにコピーされた文字数がlengthと同じでない限り、終端文字はシリアルバッファから捨てられる。
参照
オリジナルのページ
https://docs.arduino.cc/language-reference/en/functions/communication/serial/readBytesUntil/
実装の解析
まだ解析していません。
最終更新日
July 18, 2026