NOBのArduino日記!

NOBのArduino日記!

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

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

■SoftwareSerial: write関数
 SoftwareSerial: write関数は、シリアルポートにバイナリデータを出力します。
 1バイトずつ、あるいは複数バイトの送信が可能です。 
 これはSerial.write関数と同じ働きをします。
※(数値を表す)文字として送信したい場合は、print()を使用します。

■使用例
 ArduinoIDEで使用するSoftwareSerial: write関数の使い方は以下の通りです。
 試しにこのプログラムをArduinoUNOで実行すると、最初にSoftwareSerial関数でシリアルポートオブジェクトを名前を付けて作成します。
 次にSoftwareSerialライブラリの.begin関数で作成したオブジェクトを指定してソフトウェアシリアルの初期化(通信速度の設定)を行います。
 最後にSoftwareSerialライブラリの.write関数によって「-」と「hello」が11ピンから出力されます。

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

void setup() {
   mySerial.begin(9600);
}

void loop() {
   mySerial.write(45); // 値45のバイトを送る
   int bytesSent = mySerial.write("hello"); //文字列 "hello"を送り文字列の長さを返します。
}
イメージ 1
図1:プログラム例

■構文
 mySerial.write(val) 
 mySerial.write(str) 
 mySerial.write(buf, len)

■パラメータ
 val: 送信する値(1バイト)  ※例:図2「Decimal」列より「45」は「-」記号の事

 str: 文字列(複数バイト) 
 buf: 配列として定義された複数のバイト 
 len: 配列の長さ

 

■戻り値
 書き込まれたバイト数を返しますが、その数を読み取ることはオプションです。 

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

↩【ArduinoIDE reference】目次に戻る