トップページ > dsPIC入門 > Javaでシリアル通信(4)

RXTXライブラリのクラスについて

簡単な使い方の解説です

RXTXライブラリの全クラスの詳細は、 RXTXのページ(英語) 参照です。今回は、シリアル通信で使う基礎的なクラスのみ取り上げることにします…。 また、データの受信に関する方法も、今回は取り上げません。

ポートを取得する

CommPortIdentifier comID = CommPortIdentifier.getPortIdentifier( "COM5" );

“CommPortIdentifier”クラスのオブジェクトを作り、その中のメソッド“getPortIdentifier()”を 呼び出します。引数は使用したいCOMポート名です。今回はCOM5となっています。

※ インスタンスを作る際にnewを使わないの??と思うところですが、サンプルプログラムもこのように 書かれていますし、実際これでコンパイルが通って動作してしまうので良しとします…(汗)

ポートを開く

CommPort commPort = comID.open("hoge",2000);

“CommPort”クラスのインスタンスを作って、そこへ上で作成したcomID内の“open()”メソッドを呼び出します。 open()メソッドの引数はそのCOMポートを使用するアプリケーション名と、タイムアウト時間の設定ですが、 アプリケーション名は何にしても動作します。タイムアウトも適当に設定してしまいます。

シリアルポートを取得する

SerialPort port = (SerialPort)commPort;

これまでの操作で取得したCommPortクラスのインスタンスを、“SerialPort”クラスへダウンキャストする 形となっています。

シリアルポートの設定

port.setSerialPortParams( 115200,SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );

ボーレート、データビット数、ストップビット数、パリティの有無は“SerialPort”クラスの “setSerialPortParam()”メソッドで行います。


port.setFlowControlMode( SerialPort.FLOWCONTROL_NONE );

フロー制御の有無は、同じくSerialPortクラス内の“setFlowControlMode()”メソッドで行います。

ストリームを取得

OutputStream out = port.getOutputStream();

普通にOutputStreamを生成します…が、その中に“SerialPort”クラスの“getOutputStream()”メソッドから 返されるストリームを入れる感じで。あとは、ここで生成したストリームを普段通りに使用するだけ。

1文字送信

out.write( 'r' );

write()メソッドで。文字列送信の場合は自分で適当に関数を作ることになると思います。

ポートを閉じる

out.close();

port.close();

close()メソッドです…。




前へ   次へ