Win7 환경에서 Java 직렬 포트 데이터 읽기 및 쓰기
최근 실제 프로젝트에서는 직렬 포트 데이터 읽기 및 쓰기를 구현하기 위해 Java 언어가 필요합니다. javax.comm 패키지를 사용할 수도 있었는데 여러번의 테스트 끝에 PC의 시리얼 포트를 읽을 수 없었습니다. 그래서 rxtx 패키지를 변경하여 Myeclipse8.6에서 테스트한 결과, 의 사용 가능한 포트가 나왔습니다. PC를 구할 수 있었습니다.
RXTX 패키지 다운로드 주소: http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
다운로드 및 압축 해제 후 구성 환경
다운로드 패키지의 %java_home%jre bin(%java_home%jre bin xtxSerial)에 rxtx-2.1-7-bins-r2Windowsi368-mingw32 xtxSerial.dll
을 넣습니다. .dll)
다운로드 패키지의 %java_home%jre lib ext 아래에 rxtx-2.1-7-bins-r2RXTXcomm.jar을 넣습니다. 참고: %java_home%가 JDK를 설치합니다
MyEclipse인 경우 기본 JRE는 Program FilesGenuitecCommonbinarycom.sun.java.jdk.win32.x86_1.6.0.013이므로 위에서 언급한 파일들은 반드시 JRE의 해당 디렉터리에 위치해야 합니다.
다음은 Myeclipse Reference RXTXcomm.jar에 있습니다. 프로젝트 빌드 경로를 선택하고 Build Build
Path 구성을 선택한 다음 Libraries를 선택하고 Add Exteral
JARS 버튼을 클릭하고 팝업에서 RXTXcomm.jar을 찾으세요. 대화 상자를 선택한 다음 클릭하여 열고 확인을 클릭합니다.
자, 이제 프로그램을 작성할 수 있습니다. 먼저 PC에 직렬 포트가 있는지 확인하세요. 프로그램은 다음과 같습니다.
패키지 테스트;
import java.util.Enumeration;
import gnu.io.*;
public class TestSerial {
@SuppressWarnings("unchecked")
static 열거
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 포트가 시작되었는지 판단하고 연결
System.out.println(portId.getName());
}
}
//}
} catch(예외 e) {
e.printStackTrace();
}
}
}
테스트 결과:
안정적인 라이브러리
============ ========= ====================
Native lib 버전 = RXTX-2.1-7
Java lib 버전 = RXTX- 2.1-7
COM1
Java 직렬 포트 작동과 관련된 더 많은 기사를 보려면 PHP를 참고하세요. 중국사이트!