Buenas, estoy tratando de enviar y recibir caracteres por puerto serie, se que hay millones de blog y paginas a las cuales ya recurrí y no puedo encontrar el error. El temas es asi, creo una ventana con 2 jtextfield y 2 jbutton con uno envío con otro recibo. lo comunico con el Hyperterminal, la parte de enviar caracteres desde la ventana que creo al Hyperterminal funciona a la perfección pero la parte de la recepción no. Apreto el boton para recibir y no obtengo nada de vuelta. aqui abajo les adjunto el codigo para ver si pueden tirarme una idea de donde esta el problema. import giovynet.serial.Baud; import giovynet.serial.Com; import giovynet.serial.Parameters;
/** * * @author lgambetta */ public class Ventana extends javax.swing.JFrame { String Caracter; /** * Creates new form Ventana */ public Ventana() { initComponents(); }
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jLabel1 = new javax.swing.JLabel(); jtCaracter = new javax.swing.JTextField(); jbEnviar = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); jtCaracter_Recibido = new javax.swing.JTextField(); jbRecibir = new javax.swing.JButton();
private void jbEnviarMouseClicked(java.awt.event.MouseEvent evt) { try { // //Definición de parametros Parameters 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 = new Com(configuracion); // envio de un de caracter com1.sendSingleData(jtCaracter.getText()); // fin de envio de secuencias de escape ESC/POS com1.close(); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }
Buenas, estoy tratando de enviar y recibir caracteres por puerto serie, se que hay millones de blog y paginas a las cuales ya recurrí y no puedo encontrar el error.
El temas es asi, creo una ventana con 2 jtextfield y 2 jbutton con uno envío con otro recibo. lo comunico con el Hyperterminal, la parte de enviar caracteres desde la ventana que creo al Hyperterminal funciona a la perfección pero la parte de la recepción no. Apreto el boton para recibir y no obtengo nada de vuelta.
aqui abajo les adjunto el codigo para ver si pueden tirarme una idea de donde esta el problema.
import giovynet.serial.Baud;
import giovynet.serial.Com;
import giovynet.serial.Parameters;
/**
*
* @author lgambetta
*/
public class Ventana extends javax.swing.JFrame {
String Caracter;
/**
* Creates new form Ventana
*/
public Ventana() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jtCaracter = new javax.swing.JTextField();
jbEnviar = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jtCaracter_Recibido = new javax.swing.JTextField();
jbRecibir = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Enviar caracter");
jbEnviar.setText("Enviar");
jbEnviar.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jbEnviarMouseClicked(evt);
}
});
jLabel2.setText("Caracter Recibido");
jbRecibir.setText("Recibir");
jbRecibir.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jbRecibirMouseClicked(evt);
}
});
jbRecibir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbRecibirActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jtCaracter_Recibido, javax.swing.GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)
.addComponent(jtCaracter))
.addGap(21, 21, 21)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jbEnviar)
.addComponent(jbRecibir))
.addContainerGap(35, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jtCaracter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jbEnviar))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jtCaracter_Recibido, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jbRecibir))
.addContainerGap(30, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void jbEnviarMouseClicked(java.awt.event.MouseEvent evt) {
try {
// //Definición de parametros
Parameters 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 = new Com(configuracion);
// envio de un de caracter
com1.sendSingleData(jtCaracter.getText());
// fin de envio de secuencias de escape ESC/POS
com1.close();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
private void jbRecibirMouseClicked(java.awt.event.MouseEvent evt) {
}
private void jbRecibirActionPerformed(java.awt.event.ActionEvent evt) {
Parameters configuracion = null;
try {
configuracion = new Parameters();
configuracion.setPort("COM1");
configuracion.setBaudRate(Baud._9600);
Com com1 = null;
com1 = new Com(configuracion);
// while (Caracter.equals("")) {
Caracter =com1.receiveToString(2);
Thread.sleep(1000);
//Caracter = com1.receiveToString(100);
System.out.println(Caracter);
jtCaracter_Recibido.setText(Caracter);
// }
com1.close();
Caracter = "";
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Ventana.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Ventana().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JButton jbEnviar;
private javax.swing.JButton jbRecibir;
private javax.swing.JTextField jtCaracter;
private javax.swing.JTextField jtCaracter_Recibido;
Olvide comentarles que estoy trabajando en netbeans con la libreria giovynet.
desde ya muchas gracias