名称
Serial.write()
説明
バイナリデータをシリアルポートに書き込む。このデータは、1バイトもしくはバイト列として送信される。数値を文字表現として送信したいときは、Serial.print()関数を利用すること。
書式
シリアルポートに無成型のデータを送信するには、以下の関数のいずれかを使う。
Serial.write(val)Serial.write(str)Serial.write(buf, len)
C言語シグネチャ(avr)
size_t HardwareSerial::write(uint8_t c);
size_t HardwareSerial::write(const char *str);
size_t HardwareSerial::write(const char *buffer, size_t size);
size_t HardwareSerial::write(const uint8_t *buffer, size_t size);
引数
この関数は以下のオブジェクトと引数を受け付ける。
| Serial | シリアルポートオブジェクト。各ボードで利用可能なシリアルポートオブジェクトは、Serialを参照。 |
| val, c |
|
| str | バイト列として送信する文字列。 |
| buf |
|
| len, size | 配列の大きさ。 |
戻り値
書き込んだバイト数。戻り値の利用はオプション。データ型: size_t。
コード例
以下のコードは、Serial.write()の使い方を示す。
|
|
注意
シリアル通信は非同期である。送信バッファに十分な空きスペースがある場合は、Serial.write()はシリアル回線で文字が送信される前にリターンする。送信バッファが満杯の場合は、Serial.write()は、バッファに十分な空きスペースができるまでブロックされる。Serial.wirte()時のブロッキングを避けるために、送信バッファに空きがあるかを確認するために、Serial.availableForWrite()を使うことができる。
オリジナルのページ
https://docs.arduino.cc/language-reference/en/functions/communication/serial/write/
実装の解析
最終更新日
August 16, 2026