外部インタフェース/API    

例題 -シリアルポートによる通信

プログラムserialexampleは、通信ポートへのアクセスをサポートするJava API javax.commパッケージのクラスを使います。ポート設定変数を定義した後で、serialexamplejavax.comm.CommPortIdentifierオブジェクトを作成して、シリアル通信ポートを管理します。プログラムは、オブジェクトについてopenメソッドを呼び出して、Tektronix oscilloscope(例題はオシロスコープを使わずに実行できます)に接続すると仮定されるCOM1シリアルポートの低レベルインタフェースを記述するjavax.comm.SerialPortラスのオブジェクトを出力します。プログラム serialexampleは、その後SerialPortオブジェクトについていくつかのメソッドを呼び出してシリアルポートを設定します。

プログラムserialexampleは、I/Oパッケージjava.ioを使ってシリアルポートとのやりとりを行います。staticメソッドを呼び出してシリアルポートに対するOutputStreamオブジェクトを出力します。その後、そのオブジェクトをjava.io.OutputStreamWriterに対するコンストラクタに渡します。OutputStreamWriterオブジェクトについてwriteメソッドを呼び出して、オシロスコープにコントラストを設定するシリアルポートにコマンドを作成します。再度writeを呼び出してコントラストをチェックするコマンドを作成します。その後、java.io.InputStreamWriterクラスのオブジェクトを作成してシリアルポートから読み込みます。

SerialPortオブジェクトについて別のstaticメソッドを呼び出して、シリアルポートに対するOutputStreamオブジェクトを出力します。そのオブジェクトについてメソッドを呼び出してポートから読み込みバイト数を取得します。InputStreamオブジェクトをjava.io.OutputStreamWriterに対するコンストラクタに渡します。その後、読み込むデータがある場合は、OutputStreamWriterオブジェクトについてreadメソッドを呼び出して、オシロスコープが出力するコントラストデータを読み込みます。


 例題の実行 例題の説明