Salut a tous.
J'ai fait des recherche sur ce theme et je n'ai pas trouvé mon probleme evoqué quelque part.
Alors voila.
J'ai un flasheur de code a barre qui est connecté sur le port COM1 de mon PC.
Je veux lire ce qui se passe sur ce port et afficher la trame.
J'utilise ce code :
import javax.comm.*; import java.io.*; import java.util.*; import com.sun.comm.Win32Driver; /* Cette classe permet de tester les ports séries disponibles en les listant puis en créant un stream d'entrée et de sortie */ public class TesteJavaComm { CommPortIdentifier portId; BufferedReader in; PrintWriter out; SerialPort serialPort; /* Constructeur de la classe TesteJavaComm qui prend en paramètre le port série à utiliser. Dans un premier temps on liste les ports disponibles sur le pc */ public TesteJavaComm (String com) { Win32Driver w32Driver= new Win32Driver(); w32Driver.initialize(); System.out.println("listage des ports série disponibles:"); listePortsDispo(); try { //ouverture du port série: portId=CommPortIdentifier.getPortIdentifier(com); serialPort=(SerialPort)portId.open("Envoi",2000); int i=0; do { //on sélectionne tous les paramètres de la connexion série: serialPort.setSerialPortParams(38400,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE); System.out.println("Ouverture du port "+com); //pour lire avec des streams: in=new BufferedReader(new InputStreamReader(serialPort.getInputStream())); //Teste de lecture sur le port série int b = in.read(); System.out.println(in.read()); System.out.println(b); in.close(); i++; }while(i!=3); } catch (Exception e) { e.printStackTrace(); } }//fin constructeur public void listePortsDispo() { System.err.println("recherche..."); Enumeration portList=CommPortIdentifier.getPortIdentifiers(); if (portList==null) { System.err.println("Aucun port de communication détecté"); return; } while (portList.hasMoreElements()) { portId=(CommPortIdentifier)portList.nextElement(); System.out.println("* "+portId.getName()); } // while } //fin de la methode listePortsDispo() /* Methode main qui permet de tester notre classe de teste en ouvrant une connexion sur le port COM1. */ public static void main(String args[]) { new TesteJavaComm ("COM1"); }//fin du main }//fin de la classe
Voila ce que cela m'affiche :
Listage des ports série disponibles
recherche...
* COM2
* COM1
* LPT1
* LPT2
Ouverture du port COM1
49
2
Mon soucis c'est que je ne comprends pas ce que represente les valeurs '49' (in.read(); ) et '2' (int b) et comment afficher la trame que je flashe.
Merci pour toute l'aide que vous pourrez m'apporter.