NOBのArduino日記!

NOBのArduino日記!

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

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

■SoftwareSerial: listen関数
 SoftwareSerial: listen関数は、選択したソフトウェアシリアルポートを受信出来る様にします。
 一度に1つのソフトウェアシリアルポートだけを開く事が出来ます。
  他のポートに到着したデータは破棄されます。
 既に受信したデータは、listen関数の呼び出し中に破棄されます(指定されたインスタンスがすでにリスンしている場合を除く)。

■使用例
 ArduinoIDEで使用するSoftwareSerial: listen関数の使い方は以下の通りです。
 試しにこのプログラムをArduinoUNOで実行すると、最初にSoftwareSerial関数でシリアルポートオブジェクトを名前を付けて2つ作成します。
 次にSoftwareSerialライブラリの.begin関数で作成した2つのオブジェクトを指定してソフトウェアシリアルの初期化(通信速度の設定)を行います。
 Loop関数中でSoftwareSerialライブラリのlisten関数によって作成したポートの一つを指定します。
 最後にSoftwareSerialライブラリのisListen関数によって現在選択されているポートがどれかをシリアルモニター上に出力します。

#include <SoftwareSerial.h>

// software serial : TX = digital pin 10, RX = digital pin 11
SoftwareSerial portOne(10, 11);

// software serial : TX = digital pin 8, RX = digital pin 9
SoftwareSerial portTwo(8, 9);

void setup()
{
   // Start the hardware serial port
   Serial.begin(9600);

   // Start both software serial ports
   portOne.begin(9600);
   portTwo.begin(9600);

}
void loop()
{
   portOne.listen();

   if (portOne.isListening()) {
       Serial.println("Port One is listening!");
   } else {
       Serial.println("Port One is not listening!");
   }

   if (portTwo.isListening()) {
       Serial.println("Port Two is listening!");
   } else {
       Serial.println("Port Two is not listening!");
   }

}
イメージ 1
図1:プログラム例

■構文
 mySerial.listen()

■パラメータ
 mySerial:待機するインスタンスの名前

■戻り値
 boolean:別のものを置き換える場合はtrueを返します。 

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

↩【ArduinoIDE reference】目次に戻る