トップページ > dsPIC入門 > Javaでシリアル通信(4)
RXTXライブラリの全クラスの詳細は、 RXTXのページ(英語) 参照です。今回は、シリアル通信で使う基礎的なクラスのみ取り上げることにします…。 また、データの受信に関する方法も、今回は取り上げません。
“CommPortIdentifier”クラスのオブジェクトを作り、その中のメソッド“getPortIdentifier()”を 呼び出します。引数は使用したいCOMポート名です。今回はCOM5となっています。
※ インスタンスを作る際にnewを使わないの??と思うところですが、サンプルプログラムもこのように 書かれていますし、実際これでコンパイルが通って動作してしまうので良しとします…(汗)
“CommPort”クラスのインスタンスを作って、そこへ上で作成したcomID内の“open()”メソッドを呼び出します。 open()メソッドの引数はそのCOMポートを使用するアプリケーション名と、タイムアウト時間の設定ですが、 アプリケーション名は何にしても動作します。タイムアウトも適当に設定してしまいます。
これまでの操作で取得したCommPortクラスのインスタンスを、“SerialPort”クラスへダウンキャストする 形となっています。
ボーレート、データビット数、ストップビット数、パリティの有無は“SerialPort”クラスの “setSerialPortParam()”メソッドで行います。
フロー制御の有無は、同じくSerialPortクラス内の“setFlowControlMode()”メソッドで行います。
普通にOutputStreamを生成します…が、その中に“SerialPort”クラスの“getOutputStream()”メソッドから 返されるストリームを入れる感じで。あとは、ここで生成したストリームを普段通りに使用するだけ。
write()メソッドで。文字列送信の場合は自分で適当に関数を作ることになると思います。
close()メソッドです…。