Serial.setTimeout()

Last revision:2025/06/13

名称

Serial.setTimeout()

説明

Serial.setTimeout()は、シリアルデータ受信の最大待ち時間を設定する。指定する時間の単位はミリ秒単位で、デフォルト値は1000ミリ秒である。

Serial.setTimeout()は、Streamユーティリティクラスを継承している。

書式

シリアルタイムアウトを設定するには、以下の関数を使う。

Serial.setTimeout(time)

C言語シグネチャ(avr)

void HardwareSerial::setTimeout(unsigned long timeout);

引数

この関数は以下のオブジェクトと引数を受け付ける。

Serialシリアルポートオブジェクト。各ボードで利用可能なシリアルポートオブジェクトは、Serialを参照。
timeoutタイムアウト時間。単位はミリ秒。データ型: long

戻り値

なし。

コード例

以下のコードは、デフォルトのタイムアウト時間を変更する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
char data[6]; // 5 characters + null terminator

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.setTimeout(5000); // Set timeout to 5 seconds

  Serial.println("Send 5 characters (you have 5 seconds):");
}

void loop() {
  if (Serial.available()) {
    int bytesRead = Serial.readBytes(data, 5);
    data[bytesRead] = '\0';

    Serial.print("Received: ");
    Serial.println(data);
  }
}

注意

Serial.setTimeout()で設定したタイムアウト値を利用するSerialの関数は以下の通り。

参照

オリジナルのページ

https://docs.arduino.cc/language-reference/en/functions/communication/serial/setTimeout/

実装の解析

まだ解析していません。

最終更新日

July 18, 2026

inserted by FC2 system