1. Javaリンク用の64ビットRXTXをダウンロード:http://fizzed.com/oss/rxtx-for-java
2。ダウンロードしたパッケージを解凍した後、指示に従って、java_homeのインストールパス、つまりJavaの下に置きます。
3. Mavenのpom.xmlを追加します
<Dependency> GroupId> org.rxtx </groupId> <Artifactid> rxtx </artifactid> <version> 2.1.7 </version> </Dependency>
4。シリアルAPI
Commport:ポートコムポート担当者の要約クラス:シリアルポートアクセスと制御用のコアクラスシリアルポート:それを通して、シリアルポートを直接読み取り、書き込み、設定できます。
5.このマシンの使用可能なポートをリストします
Enumeration <Commportidentifier> em = commportidentifier.getPortidentifiers(); while(em.hasmoreElements()){string name = em.nextelement()。getname(); System.out.println(name); }6.一般的な手順:シリアルポートを開き、シリアルポートオブジェクトを取得==》パラメーターを設定します==
//シリアルポートを開きますcommportidentifier portidentidifier = commportidentifier.getportidentifier( "com4"); // com4はシリアルポート名commport = portidentifideifier.open( "com4"、2000); // 2000はオープンタイムアウトSerialPort =(serialport)commportです。 //パラメーターの設定(ボーレート、入力/出力フロー制御、データビットカウント、停止ビット、均一な確認を含む)serialport.setserialportparams(9600、serialport.databits_8、serialport.stopbits_1、serialport.parity_none); // serialport.addeventlistener(new ABC())を聞く; // ABCは、SerialPortEventListenerインターフェイスを実装するクラスです。特定の読み取り操作はIT.//で実行されます。 //通信が中断されたときに割り込みスレッドを起動するように設定されています。 // in.close(); //シリアルポートを閉じます
ABCコンテンツ、つまり、シリアルポートを読み取る特定の操作:
パブリッククラスABC実装SerialPortEventListener {public void serialevent(serialportevent arg0){// todo auto -fided method stub //次のコンテンツを裁判と操作 - 通信中割り込みCD-キャリア検出CTS -Clear Send Data_Available -DSR -DSR -DSR DEVIECT ERERE ERER ERER ERER -OUTPUTED -DSR -DSR -DSR -DATE DEVIST ERER -OUTPUTED -DSR -DSR -DSR -DATE DEVIEST ERER ERIOT OUTPUTEクリアされたPE-パリティエラーRI-リング表示 */ //複数のスイッチ、If Single if(arg0.getEventType()== serialPortevent.data_available){try {inputstream in = null; byte [] bytes = null; in = app.serialport.getInputStream(); int bufflenth = in.abailable(); while(bufflenth!= 0){//バッファーバイトのデータの長さにバイト配列を初期化= new byte [Bufflenth]; in.read(bytes); System.out.println(new String(BYTES)); Bufflenth = in.abailable(); }} catch(Exception E){// todo auto-enerated catch block e.printstacktrace(); }}}}書き込み操作:
outputStream out = serialport.getOutputStream(); out.write(data); // byte [] data; out.flush();
要約します
上記は、Javaシリアル通信の実装プロセスに関するこの記事のすべての内容であり、すべての人に役立つことを願っています。ご質問がある場合は、いつでもメッセージを残して、貴重なコメントを楽しみにしてください。