シリアル通信(Serialクラス)
PCや他のマイコンと通信をするためのライブラリです。
シリアル用のチャネルは合計4本使用可能で、Serial, Serial1, Serial2, Serial3まで指定可能です。
begin
概要 |
シリアル通信のボーレート、ポートの設定を行います。 |
文法 |
Serial.begin(int speed, port) |
パラメータ |
speed: ボーレートport: 使用するポート(省略した場合、USB0の仮想COMポートを使用)
SCI_USB0: USB0仮想COMポートを使う
SCI_SCI2A ピン30(RxD)、ピン31(TxD)を使う
SCI_SCI2B ピン24(TxD)、ピン26(RxD)を使う。XBeeアクセスに使用
SCI_SCI6B ピン6(TxD)、ピン7(RxD)を使う
SCI_SCI0P2x ピン0(RxD)、ピン1(TxD)を使う
SCI_AUTO ピン0,1かUSB0で最初に受信した方を選択。 |
戻り値 |
なし |
end
概要 |
シリアル通信ポートの停止 |
文法 |
Serial.end() |
パラメータ |
なし |
戻り値 |
なし |
available
概要 |
シリアル通信ポートから何バイトのデータが読み取れるかを返す |
文法 |
int Serial.available() |
パラメータ |
なし |
戻り値 |
シリアルバッファにあるデータのバイト数。0の場合はデータなし |
read
概要 |
シリアル通信ポートの受信バッファから1バイトのデータが読み出します。 |
文法 |
int Serial.read() |
パラメータ |
なし |
戻り値 |
データ。データなしの場合は-1が返る。 |
peek
概要 |
シリアル通信ポートの受信バッファにある先頭データを読み出します。バッファ中の読み込み位置は変更しないので、バッファを覗くだけ。CRLFの変換は行われません。 |
文法 |
int Serial.peek() |
パラメータ |
なし |
戻り値 |
先頭データ。データなしの場合は-1が返る。 |
flush
概要 |
シリアル通信ポートの送信バッファが空になるまで待ちます。 |
文法 |
Serial.flush() |
パラメータ |
なし |
戻り値 |
なし |
write
概要 |
シリアル通信ポートに文字列やデータを出力する。 |
文法 |
Serial.write(const char* str)Serial.write(const unsigned char* buf, int len) |
パラメータ |
str: 文字列buf: 出力するデータのポインタlen: 出力するデータの長さ |
戻り値 |
出力したバイト数 |
print
概要 |
シリアル通信ポートに文字列を出力します。 |
文法 |
Serial.print(val)Serial.print(val, format) |
パラメータ |
val: 出力したい値や文字列format: 数値の場合はその基数(BIN:2進数、OCT:8進数、DEC:10進数、HEX:16進数) |
戻り値 |
出力したバイト数 |
println
概要 |
シリアル通信ポートに文字列を改行付きで出力する。 |
文法 |
Serial.println(val)Serial.println(val, format) |
パラメータ |
val: 出力したい値や文字列format: 数値の場合はその基数(BIN:2進数、OCT:8進数、DEC:10進数、HEX:16進数) |
戻り値 |
出力したバイト数 |
サンプルプログラム
こちらを参照してください。