Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
Serialオブジェクト

概要

Arduinoボードとコンピュータや他の機器との通信に利用する。全てのArduinoボードは、少なくとも一つの「Serial」という名称でアクセスできるシリアルポート(UARTやUSARTとも呼ばれる)をもっている。USBケーブルだけではなく、デジタルピンの0番(RX:受信用)と1番(TX:送信用)を使って通信する。このため、Serialを使うときには、デジタルピンの0番と1番を入力や出力に使うことができない。

Arduino環境に組み込みのシリアルモニタをArduinoボードと通信するために使うことができる。ツールバーのシリアルモニタボタンをクリックし、begin()で設定したのと同じ通信速度を選択すると利用できる。

Arduino Megaは、さらに3つのシリアルポートを持っている。19番ピン(RX)と18番ピン(TX)を使うSerial1、17番ピン(RX)と16番ピン(TX)を使うSerial2、15番ピン(RX)と14番ピン(TX)を使うSerial3である。これらのピンにはUSB-シリアル変換器が接続されていないので、これらのピンをPCとの通信に使うためには、外付けのUSB-シリアル変換器が必要となる。これらを外部のTTLシリアル機器との通信に使うには、ArduinoのTXピンと機器のRXピン、ArduinoのRXピンと機器のTXピンとを接続し、Megaのアースと機器のアースとを接続する必要がある。これらのピンをRS232シリアルポートに直接接続しないこと。RS232は±12Vで動作するので、Arduinoボードが壊れるかもしれない。

Arduino Dueは追加の3.3VのTTLシリアルポートを持っている。19番ピン(RX)と18番ピン(TX)を使うSerial1、17番ピン(RX)と16番ピン(TX)を使うSerial2、15番ピン(RX)と14番ピン(TX)を使うSerial3である。0番ピンと1番ピンは、USBデバッグポートに接続されているATmega16U2 USB-TTLシリアルチップに接続されている。さらに、SAM3XチップネイティブのUSB-シリアルポートが存在する。

Arduino Leonardoは、デジタルピンの0番(RX:受信用)と1番(TX:送信用)上のRS232を経由して通信するのに、Serial1を使う。SerialはUSB CDC通信のために予約されている。詳細は、Leonardoのgetting startedページとhardware pageを参照のこと。

訳者註

SerialやSerial1、Serial2、Serial3は、C++の変数(オブジェクト)として、あらかじめ定義されているので、ユーザが定義する必要はありません。

各関数の説明中の「書式」は、オリジナルページの説明と異なり、C++言語の関数(メソッド)定義も記述しています。

オリジナルページの記述例 Serial.begin(speed)
このウェブページでの記述例 void HardwareSerial::begin(long speed);

実際にスケッチを書く際は注意してください。

関数(メソッド)
if(Serial) 指定したシリアルポートが利用可能かを示す。
available() シリアルポートから読み取り可能なバイト数(文字数)を取得する。
availableForWrite() シリアルポートに書き込み可能なバイト数(文字数)を取得する。
begin() シリアルデータを送信する際の通信速度をbps(ビット/秒)で設定する。
end() シリアル通信を終了する。
find() 与えらえた長さの、目的となる文字列がシリアルバッファで見つかるまで、データを読み込む。
findUntil() 与えらえた長さの、目的となる文字列がシリアルバッファで見つかるまで、もしくは、終端文字列が見つかるまで、データを読み込む。
flush() 受信したシリアルデータを破棄する。
parseFloat() シリアルバッファから最初の有効な浮動小数点値を返却する。
parseInt() シリアルバッファから最初の有効なlong型の整数値を返却する。
peek() シリアル通信用の受信バッファは保持したまま、受信したシリアルデータを読む。
print() シリアルポートにASCIIテキストとして可読文字を表示する。
println() シリアルポートにASCIIテキストとして可読文字を表示する。最後にCR/LF(復帰/改行)を表示する。
read() 受信したシリアルデータを読む。
readBytes() シリアルバッファから文字列をバッファに読み込む。
readBytesUntil() シリアルバッファから文字列をバッファに読み込む。この関数は終端文字を検出するか、指定した長さの文字列が読み込まれるか、タイムアウトすれば終了する。
readString() シリアルバッファから文字を読み込み文字列を作成する。
readStringUntil() シリアルバッファから文字を読み込み、文字列を作成する。この関数は終端文字を検出するか、指定した長さの文字列が読み込まれるか、タイムアウトすれば終了する。
setTimeout() シリアルデータ受信の最大待ち時間を設定する。
write() バイナリデータをシリアルポートに書き込む
serialEvent() データが利用可能な時に呼び出される関数を定義することができる

バージョン

Arduino 1.8.2

オリジナルのページ

https://www.arduino.cc/en/Reference/Serial



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system