Serial

説明

Arduinoボードとコンピュータや他の機器との通信に利用する。全てのArduinoボードは、少なくとも一つのシリアルポート(UARTやUSARTとも呼ばれる)を持っている。複数のシリアルポートを持つボードもある。

Board USB CDC name Serial pins Serial1 pins Serial2 pins Serial3 pins
Uno, Nano, Mini 0(RX), 1(TX)
Mega 0(RX), 1(TX) 19(RX), 18(TX) 17(RX), 16(TX) 15(RX), 14(TX)
Leonardo, Micro, Yún Serial 0(RX), 1(TX)
Uno WiFi Rev.2 Connected to USB 0(RX), 1(TX) Connected to NINA
MKR boards Serial 13(RX), 14(TX)
Zero SerialUSB (Native USB Port only) Connected to Programming Port 0(RX), 1(TX)
Due SerialUSB (Native USB Port only) 0(RX), 1(TX) 19(RX), 18(TX) 17(RX), 16(TX) 15(RX), 14(TX)
101 Serial 0(RX), 1(TX)

UnoとNano、Mini、Megaでは、0番ピンと1番ピンがコンピュータとの通信に使われる。これらのピンに何かをつなぐと、通信(ボードへのスケッチのアップロードを含む)に支障が出る可能性がある。

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

TX/RXピンを使ったシリアル通信はTTLロジックレベル(ボードにより、5Vもしくは3.3V)を利用する。これらのピンをRS232シリアルポートに直接接続しないこと。RS232は±12Vで動作するので、Arduinoボードが壊れるかもしれない。

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のアースと機器のアースとを接続する必要がある。

参照

利用例 ReadASCIIString

利用例 ASCII TAble

利用例 Dimmer

利用例 Graph

利用例 Physical Pixel

利用例 Serial Call Response

利用例 Serial Call Response ASCII

訳者註

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

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

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

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

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

オリジナルのページ

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

Last Revision: 2019/06/26

inserted by FC2 system