Reading and writing of Java serial port data in Win7 environment
Recently in actual projects, Java language is needed to realize reading and writing of serial port data. I could have used the javax.comm package, but after several tests, I could not read the serial port on the PC. So I changed the rxtx package and tested it under Myeclipse8.6. The test results showed that the available ports of the PC could be obtained.
RXTX package download address: http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
After downloading and decompressing, the configuration environment is as follows:
Put rxtx in the downloaded package -2.1-7-bins-r2Windowsi368-mingw32 xtxSerial.dll
Put it under your %java_home%jre bin (%java_home%jre bin xtxSerial.dll)
Put the download package rxtx-2.1-7-bins-r2RXTXcomm. Jar is placed under %java_home%jre lib ext. Note: %java_home% will install the JDK for you. If it is MyEclipse, its default JRE is Program FilesGenuitecCommonbinarycom.sun.java.jdk.win32.x86_1.6.0.013, so you need to Place the files mentioned above into the corresponding directory of the JRE.
The following is to reference RXTXcomm.jar in Myeclipse, select the project Build Path, select Configure Build
Path, select Libraries, and click the Add Exteral
JARS button, Find RXTXcomm.jar in the pop-up dialog box, then select it, click to open, and then click OK.
Okay, now you can write the program. First, see if you can get the serial port on your PC. The program is as follows:
package test;
import java.util.Enumeration;
import gnu.io .*;
public class TestSerial {
@SuppressWarnings("unchecked")
static Enumeration
portList;
static CommPortIdentifier portId;
public static void main(String[] args) {
try {
portList = CommPortIdentifier.getPortIdentifiers();
//Get the port on the current connection
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType () == CommPortIdentifier.PORT_SERIAL)
{//Judge if the port type is a serial port
//if (portId.getName().equals("COM3")) { //Judge if the COM3 port has been started and connect
System.out.println(portId.getName());
}
}
//}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Test results:
Stable Library
========================================== ==Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
COM1
For more articles related to Java operating serial ports, please pay attention to the PHP Chinese website!