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 classeVoila 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.

