Video Tutorial de la librería GiovynetDriver y ejemplos

Para visualizar los códigos completos y obtener mas información revisar el manual:

https://upscodigojava.wordpress.com/2014/02/09/configuracion-detallada-de-la-libreria-rxtx-y-giovynetdriver-para-comunicacion-serial/

Ejemplo de Puertos Disponibles:

package rs232; 
import java.util.List; 
 
import giovynet.nativelink.SerialPort; 
 
 
public class Puertos{ 
 
 public static void main(String[] args)throws Exception{ 
// SerialPort: es un objeto del tipo de puerto que vamos a utilizar 
 SerialPort free = new SerialPort(); 
// Nos permite obtener la lista de puertos disponibles 
 List<String> portsList = free.getFreeSerialPort(); 
 System.out.println("Puertos Disponibles"); 
// Para verifica los puertos creamos un for mediante el cual 
// ontendremos los puertos libres impresos en consola 
 for (String String : portsList) 
 { 
 System.out.println(String ); 
 } 
 } 
 
}

Ejemplo de lectura y escritura:

package rs232; 
import giovynet.serial.Baud; 
import giovynet.serial.Com; 
import giovynet.serial.Parameters; 
 
import java.awt.Frame; 
 
import javax.swing.JButton; 
import javax.swing.JLabel; 
import javax.swing.JTextField; 
 
public class Ejemplo extends Frame 
{ 
// Variables y objetos visuales 
 JLabel Etiqueta=new JLabel(); 
 JTextField Texto=new JTextField(); 
 JButton Boton=new JButton(); 
 
 JLabel Etiqueta1=new JLabel(); 
 JLabel Etiqueta2=new JLabel(); 
 JButton Boton1=new JButton(); 
 String caracter = ""; 
 
 public Ejemplo() 
 { 
// Frame 
 setVisible(true); 
 setLayout(null); 
 setTitle("Lectura y escritura de datos"); 
 setSize(325,125); 
// Etiqueta 
 Etiqueta.setBounds(20,50, 100, 20); 
 Etiqueta.setText("Enviar un digito"); 
 add(Etiqueta); 
// Caja de texto 
 Texto.setBounds(120,50,15, 20); 
 add(Texto); 
// Boton 
 Boton.setBounds(150,50,100, 20); 
 Boton.setText("Enviar"); 
 add(Boton); 
// Etiqueta 1 
 Etiqueta1.setBounds(20,80, 100, 20); 
 Etiqueta1.setText("Leer un digito"); 
 add(Etiqueta1); 
// Etiqueta2 
 Etiqueta2.setBounds(120,80,15, 20); 
 add(Etiqueta2); 
// Boto 1 
 Boton1.setBounds(190,80,100, 20); 
 Boton1.setText("Leer"); 

 add(Boton1); 
// Evento boton1 
 Boton.addMouseListener(new java.awt.event.MouseAdapter() { 
 public void mouseClicked(java.awt.event.MouseEvent e) { 
 
 Parameters configuracion = null; 
 try { 
// //Definición de parametros 
 configuracion = new Parameters(); 
// //definición del puerto que se va a utilizar 
 configuracion.setPort("COM1"); 
// //definición de la velocidad de impresión, se debe tener en 
// cuenta dicho argumento en las especificacion de velocidad del dispositivo 
 configuracion.setBaudRate(Baud._9600); 
// asignamos los parametros al objeto com1 
 Com com1 = null; 
 com1 = new Com(configuracion); 
// envio de un de caracter 
 com1.sendSingleData(Texto.getText()); 
// fin de envio de secuencias de escape ESC/POS 
 com1.close(); 
 } catch (Exception e1) { 
 // TODO Auto-generated catch block 
 e1.printStackTrace(); 
 } 
 } 
 } 
 ); 
 //Evento boton 1 
 Boton1.addMouseListener(new java.awt.event.MouseAdapter() { 
 public void mouseClicked(java.awt.event.MouseEvent e) { 
 System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked() 
 Parameters configuracion = null; 
 try { 
 configuracion = new Parameters(); 
 configuracion.setPort("COM1"); 
 configuracion.setBaudRate(Baud._19200); 
 Com com1 = null; 
 com1 = new Com(configuracion); 
 while(caracter.equals("")){ 
 
 caracter =com1.receiveSingleString(); 
 System.out.println(caracter); 
 Etiqueta2.setText(caracter); 
 
 } 
 com1.close(); 
 caracter =""; 
 } catch (Exception e1) { 
 // TODO Auto-generated catch block 
 e1.printStackTrace(); 
 } 
 } 
 }); 
 } 
}