1. Descargar 64 bit rxtx para Java Enlace: http://fizzed.com/oss/rxtx-for-java
2. Después de desabrochar el paquete descargado, siga las instrucciones y colóquela en la ruta de instalación de Java_Home, es decir, Java.
3. Agregue Pom.xml de Maven
<Spendency> <ProupId> org.rxtx </groupid> <artifactId> rxtx </artifactid> <versión> 2.1.7 </versión> </pendency>
4. API en serie
Commport: La clase abstracta de Port CommportIdentificador: la clase central de la clase Serialport para el acceso y el control del puerto serie: a través de él, puede leer, escribir y configurar directamente el puerto serie.
5. Enumere los puertos disponibles de esta máquina
Enumeration <CommportIdentifier> EM = CommportIdidentifier.GetPortIdentifiers (); while (em.hasmoreelements ()) {string name = em.nextelement (). getName (); System.out.println (nombre); }6. Pasos generales: abra el puerto serie para obtener el objeto del puerto serie ==》 Establecer parámetros ==》 Lea y escriba el puerto serie ==》 Cierre el puerto serie, entre los cuales la lectura del puerto serie se usa más comúnmente
// Abrir el puerto serie CommportIdidentifier PortIdentifier = CommportIdidentifier.getPortAdidentifier ("Com4"); // COM4 es el nombre del puerto serie Commport = PortIdidentifier.open ("Com4", 2000); // 2000 es el Tiempo de espera abierto Serialport = (Serialport) Commport; // Establecer parámetros (incluida la velocidad de transmisión, control de flujo de entrada/salida, recuento de bits de datos, bit de parada y verificación uniforme) Serialport.SetSerialPortParams (9600, Serialport.databits_8, Serialport.stopbits_1, Serialport.Parity_None); // escuchar serialport.addeventListener (nuevo abc ()); // ABC es una clase que implementa la interfaz SerialPortEventListener. La operación de lectura específica se realiza en IT.// Establecer para despertar el hilo de recepción de escucha cuando llegan los datos Serialport.notifyondataAVailable (verdadero); // Establecer para despertar el hilo de interrupción cuando la comunicación se interrumpe en serie. NotifyOnbreakInterrupts (verdadero); // in.close (); // Cerrar el puerto serieContenido de ABC, es decir, la operación específica de leer el puerto serie:
clase pública ABC implementa SerialPortEventListener {public void seriaLevent (SerialPortEvent arg0) {// toDo método generado automático stub // juzga y opera el siguiente contenido/* bi - cd de interrupción de comunicación - detección de portaes de operador de transmisión - bufido de datos de stable_available - Data ha llegado a DSR - Dispositivo de datos está listo - FeRet Error de marco - Overflow Error Outflow Outflow Outful -Outputing Outputy Pe Pe - Error de paridad Ri - Indicación de anillo */ // Switch múltiple, si solo if (arg0.getEventType () == SerialPorteVent.Data_Available) {try {inputStream in = null; byte [] bytes = null; in = App.SerialPort.getInputStream (); int bufflenth = in.available (); while (Bufflenth! = 0) {// Inicializa la matriz de bytes a la longitud de los datos en los bytes de búfer = new Byte [Bufflenth]; in.read (bytes); System.out.println (nueva cadena (bytes)); bufflenth = in.available (); }} Catch (Exception e) {// TODO Auto Generado Bloque E.PrintStackTrace (); }}}}Operación de escritura:
OutputStream out = serialport.getOutputStream (); out.write (data); // byte [] data; out.flush ();
Resumir
Lo anterior es todo el contenido de este artículo sobre el proceso de implementación de la comunicación en serie Java, y espero que sea útil para todos. Si tiene alguna pregunta, deje un mensaje en cualquier momento y espere sus valiosos comentarios.