Win7環境でのJavaシリアルポートデータの読み書き
最近実際のプロジェクトではシリアルポートデータの読み書きを実現するためにJava言語が必要になります。 javax.comm パッケージを使用することもできましたが、いくつかのテストの後、PC のシリアル ポートを読み取ることができなかったので、rxtx パッケージを変更して Myeclipse8.6 でテストした結果、使用可能なポートが確認されました。パソコンが入手できました。
RXTXパッケージのダウンロードアドレス: http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
ダウンロードして解凍した後の設定環境は以下の通りです:
rxtxを入れますダウンロードしたパッケージ -2.1-7-bins-r2Windowsi368-mingw32 xtxSerial.dll 内に
それを %java_home%jre bin (%java_home%jre bin xtxSerial.dll) の下に置きます
ダウンロード パッケージ rxtx-2.1-7- を置きますbins-r2RXTXcomm は %java_home%jre lib ext の下に配置されます。 注: MyEclipse の場合、デフォルトの JRE は Program FilesGenuitecCommonbinarycom.sun.java.jdk.win32.x86_1.6.0 です。 .013 であるため、上記のファイルを JRE の対応するディレクトリに配置する必要があります。
以下は、Myeclipse で RXTXcomm.jar を参照し、プロジェクトのビルド パスを選択し、[Configure Build
Path] を選択して、[Libraries] を選択し、 [外部
JARS の追加] ボタンをクリックし、ポップアップ ダイアログ ボックスで RXTXcomm.jar を見つけて選択し、クリックして開き、[OK] をクリックします。
これでプログラムを作成できます。まず、PC にシリアル ポートを取得できるかどうかを確認します。プログラムは次のとおりです。
import java.util.Enumeration; io .*;
public class TestSerial {
@SuppressWarnings("unchecked")
static Enumeration
portList;
static CommPortIdentifier portId;
public static void main(String[] args) {
try {
portList = CommPortIdentifier.getPortIdentifiers();
//現在の接続上のポートを取得します
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{//ポートタイプがシリアルポートかどうかを判定
//if (portId.getName().equals("COM3")) { //次の場合を判定COM3 ポートが開始されており、connect
System.out.println(portId.getName());
}
}
//}
} catch (Exception e) {
e.printStackTrace() ;
}
}
}
テスト結果:
安定版ライブラリ
============================== ============ ==ネイティブ ライブラリ バージョン = RXTX-2.1-7
Java ライブラリ バージョン = RXTX-2.1-7COM1
関連記事の詳細はこちらJava で動作するシリアル ポートについては、PHP の中国語 Web サイトに注意してください。