Serial.write()

名称

Serial.write()

説明

バイナリデータをシリアルポートに書き込む。このデータは、1バイトもしくはバイト列として送信される。数値を文字表現として送信したいときは、Serial.print()関数を利用すること。

書式

メソッド定義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.write(c);
Serial.write(str);
Serial.write(str, size);
Serial.write(buffer, size);

引数

Serialシリアルポートオブジェクト。
c 送信する値(1バイト)。
strバイト列として送信する文字列。
buf バイト列として送信する配列。
size配列の大きさ。

各ボードで利用可能なシリアルポートオブジェクトは、Serialを参照。

戻り値

書き込んだバイト数。戻り値の利用はオプション。

使用例

1
2
3
4
5
6
7
8
9
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.write(45); // send a byte with the value 45

  int bytesSent = Serial.write("hello");  //send the string "hello" and return the length of the string.
}

注意

Arduino IDE 1.0からは、シリアル通信は非同期である。送信バッファに十分な空きスペースがある場合は、Serial.write()はシリアル回線で文字が送信される前にリターンする。送信バッファが満杯の場合は、Serial.write()は、バッファに十分な空きスペースができるまでブロックされる。Serial.wirte()時のブロッキングを避けるために、送信バッファに空きがあるかを確認するために、Serial.availableForWrite()を使うことができる。

参照

オリジナルのページ

https://www.arduino.cc/reference/en/language/functions/communication/serial/write/

Last Revision: 2019/09/03

実装の解析

HardwareSerial::write()

最終更新日

January 4, 2024

inserted by FC2 system