Arduino日本語リファレンス


Serial.readString()

原文

シリアルバッファに入ってきた文字列をStringとして読み込みます。

この関数はタイムアウト(時間切れ)になると終了します。タイムアウトのデフォルトは1000ミリ秒で、この値はSerial.setTime()関数で変更可能です。また、指定した文字コードを受信すると終了するSerial.readStringUntilという関数も用意されています。

【例】

シリアル通信経由でLEDのオンオフ

void setup() {
  Serial.begin(9600);
  Serial.setTimeout(2000);  // タイムアウトは2000ミリ秒(2秒)
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  Serial.println("LED on or off ?");  // シリアルモニタへ送信
 
  // 返答を受信(タイムアウトまで待つ)
  String str = Serial.readString();

  str.trim(); // 文字列のなかの空白や改行コードなどを除去
  if (str == "on") {  // シリアルモニタから"on"が来たらLED点灯
    Serial.println("LED on");
    digitalWrite(LED_BUILTIN, HIGH);
  } else if (str == "off") { // "off"なら消す(それ以外は無視)
    Serial.println("LED off");
    digitalWrite(LED_BUILTIN, LOW);
  }
}

[目次へ戻る]

Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [ドキュメント一覧]