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