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までお送りください
[ドキュメント一覧]