NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(SoftwareSerial: read関数の使い方)

■SoftwareSerial: read関数
 SoftwareSerial: read関数は、受信した文字を返します。

■使用例
 ArduinoIDEで使用するSoftwareSerial: read関数の使い方は以下の通りです。
 試しにこのプログラムをArduinoUNOで実行すると、最初にSoftwareSerial関数でシリアルポートオブジェクトを名前を付けて作成します。
 次にSoftwareSerialライブラリの.begin関数で作成したオブジェクトを指定してソフトウェアシリアルの初期化(通信速度の設定)を行います。
 最後にSoftwareSerialライブラリの.available関数によってソフトウェアシリアルポートのバッファに到着データが有った場合に.read関数でデータを読み込みシリアルモニターに出力します。

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
   Serial.begin(57600); // ハードウェアシリアルを準備
   while (!Serial) {
       ; // シリアルポートの準備ができるのを待つ(Leonardoのみ必要)
   }
   Serial.println("Ready");
   mySerial.begin(4800); // ソフトウェアシリアルの初期化
   mySerial.println("Hello, world?");
}

void loop() {
   if (mySerial.available()) Serial.write(mySerial.read());
   if (Serial.available()) mySerial.write(Serial.read());
}
イメージ 1
図1:プログラム例

■構文
 mySerial.read()

■パラメータ
 mySerial:SoftwareSerial関数でコールしたSoftwareSerialオブジェクト名

■戻り値
 読みこんだ文字 (データがないときは -1)

■補足
 同時に複数のSoftwareSerialで受信することはできません。
 listen関数を使って、ひとつ選択する必要があります。 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る