NOBのArduino日記!

NOBのArduino日記!

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

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

■SoftwareSerial: begin関数
 SoftwareSerial: begin関数は、シリアル通信の速度(ボーレート)を設定します。

■使用例
 ArduinoIDEで使用する.begin関数の使い方は以下の通りです。
 試しにこのプログラムを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.begin(speed)

■パラメータ
 mySerial:SoftwareSerial関数でコールしたSoftwareSerialオブジェクト名。
 speed:シリアル通信のスピード(ボーレート)を設定します。(long)
 ※使用出来るボーレート:「300、1200、2400、4800、9600、14400、19200、28800、31250、38400、57600、115200」 

■戻り値
 有りません

■補足
 ボーレートは11520迄設定出来ますが、通信エラーが多くなる傾向に有る為あまりお勧めしません。

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

↩【ArduinoIDE reference】目次に戻る