NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Processing(SerialLibraryes:bufferUntil関数の使い方)

SerialLibraryes:bufferUntil関数
 Serialライブラリ※1bufferUntil関数は、serialEvent関数を呼び出す前まで、特定のバイトをバッファに設定します。

以下補足です

※1:シリアルライブラリは、一度に1バイトずつ外部デバイスとの間でデータの読み書きを行います。このライブラリは、カスタムマイクロコントローラデバイスと通信し、それらを処理プログラムの入力または出力として使用する柔軟性を備えています。シリアルポートは、多くのPC上に存在し、USB経由でエミュレートできる9ピンI/Oポートです。print関数やprintln関数などの方法でコンソールにデータを送信するときは、コンソールが比較的遅いことに注意してください。高速のリアルタイム出力(60フレーム/秒など)はサポートしていません。


 Processingで使用するSerialLibraryes:bufferUntil関数の使い方は以下の通りです。
 Serial.list関数で使用可能なシリアルポートを取得し、printArray関数でその一覧を図2の様に出力します。
 new Serial関数で、現在使用している「「0」"COM1"」ポートを「9600bps」のボーレートで開きます。
 SerialEvent関数を呼び出す前に、bufferUntil関数で「改行」のバイトをバッファに設定します。
イメージ 4
import processing.serial.*;
 
Serial myPort;    // シリアルポート
String inString;  // シリアルポートからの入力文字列
int lf = 10;      // ASCII改行
 
void setup() {
  size(400,200);//表示ウィンドウの幅と高さのサイズをピクセル単位で定義します。 
  // 使用可能なシリアルポートをすべて一覧表示します。
  printArray(Serial.list());
  // 使用しているポートを必要なレートで開きます。
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.bufferUntil(lf);
}
 
void draw() {
  background(0);// 処理ウィンドウの背景に使用する色を設定します。
  text("received: " + inString, 10,50);//テキストを画面に描画します。
}
 
void serialEvent(Serial myPort) {
  inString = myPort.readString();
}

イメージ 1
図2:プログラム実行結果

SerialLibraryes:bufferUntil関数の構文
 serial.bufferUntil(inByte)

SerialLibraryes:bufferUntil関数のパラメータ
 serial Serial : シリアルの任意の変数
 inByte int : バッファする値

SerialLibraryes:bufferUntil関数の戻り値
 戻り値void

イメージ 1イメージ 3
励みになりますのでよければクリック下さい(^o^)/



この商品は、Amazon.co.jp が販売、発送します。 ギフトラッピングを利用できます。