SerialLibraryes:buffer関数
Serialライブラリ※1のbuffer関数は、serialEvent関数を呼び出す前にバッファリングするバイト数を設定します。
以下補足です
※1:シリアルライブラリは、一度に1バイトずつ外部デバイスとの間でデータの読み書きを行います。このライブラリは、カスタムマイクロコントローラデバイスと通信し、それらを処理プログラムの入力または出力として使用する柔軟性を備えています。シリアルポートは、多くのPC上に存在し、USB経由でエミュレートできる9ピンI/Oポートです。print関数やprintln関数などの方法でコンソールにデータを送信するときは、コンソールが比較的遅いことに注意してください。高速のリアルタイム出力(60フレーム/秒など)はサポートしていません。
Processingで使用するSerialLibraryes:buffer関数の使い方は以下の通りです。
Serial.list関数で使用可能なシリアルポートを取得し、printArray関数でその一覧を図2の様に出力します。
new Serial関数で、現在使用している「「0」"COM1"」ポートを「9600bps」のボーレートで開きます。
serialEvent関数を呼び出す前にbuffer関数で、myPortからバッファリングするバイト数を「3」に設定します。
import processing.serial.*;
Serial myPort; // シリアルポート
PFont myFont; // 表示フォント
String inString; // シリアルポートからの入力文字列
int lf = 10; // ASCII改行
void setup() {
size(400,200);
// あなた自身のフォントを作ってください。
myFont = loadFont("ArialMS-18.vlw");
textFont(myFont, 18);
// 使用可能なシリアルポートをすべて一覧表示します。
printArray(Serial.list());
// 使用しているポートを必要なレートで開きます。
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.buffer(3);//バッファリングするバイト数を設定します。
}
void draw() {
background(0);// 処理ウィンドウの背景に使用する色を設定します。
text("Received: " + inString, 10, 50);//テキストを画面に描画します。
}
void serialEvent(Serial myPort) {
inString = myPort.readString();
}
〇SerialLibraryes:buffer関数の構文
serial.buffer(size)
〇SerialLibraryes:buffer関数のパラメータ
serial Serial : シリアルの任意の変数
size int : バッファするバイト数
〇SerialLibraryes:buffer関数の戻り値
戻り値void