■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:プログラム例
■構文
mySerial.listen()
■パラメータ
mySerial:待機するインスタンスの名前
■戻り値
boolean:別のものを置き換える場合はtrueを返します。
励みになりますのでよければクリック下さい(^o^)/