Salut,
Merci bcp pour vos réponses
Pour la caisse c’est bon elle marche, j’envoie n’importe quel caractère est c’est bon elle s’ouvre.
En ce qui concerne l’afficheur, j’ai pu récupérer la documentation technique de mon afficheur, voici le lien : http://www.totalbarcode.com/download/CD5220_Manual.pdf
et pour que je puisse utiliser les commandes et afficher ce que je voudrai afficher, j'ai récupéré le flux de sortie de mon périphérique par la méthode :
OutputStream ous=serialPort.getOutputStream();
puis, j'ai définie la commande à exécuter par exemple je veux effacer mon afficheur, cette commande à le code hexa : 0C
En java j’ai écrit les instructions suivantes :
1 2 3
| hex=0x0C;
ous.write(hex);
ous.flush(); |
Le problème c’est que rien ne change au niveau de mon afficheur, j’ai même essayé d’afficher une chaîne de caractères mais rien ne s'affiche sauf des caractères par défaut qu’il affiche pour toujours:
1 2 3 4
| String s=new String("essai");
byte[] b=s.getBytes();
ous.write(b, 0, b.length);
ous.flush() ; |
Voici tous mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
package src;
import javax.comm.*;
import java.io.*;
import java.util.*;
/*
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 TestPortSerie{
CommPortIdentifier portId;
BufferedReader in;
PrintWriter out;
SerialPort serialPort;
/*
Constructeur de la classe test qui prend en paramètre le port série à utiliser.
Dans un premier temps on liste les ports disponibles sur le pc
*/
public TestPortSerie (String com){
System.out.println("liste des ports série disponibles:" );
listePortsDispo();
try
{
// ouverture du port série:
portId=CommPortIdentifier.getPortIdentifier(com);
serialPort=(SerialPort)portId.open("Envoi",2000);
// on sélectionne tous les paramètres de la connexion série:
serialPort.setSerialPortParams(4800,SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
System.out.println("Ouverture du port "+com);
int hex=0x1B11;
OutputStream ous=serialPort.getOutputStream();
/*String s=new String("essai");
byte[] b=s.getBytes();
ous.write(b, 0, b.length);
ous.flush()*/
ous.write(hex);
// ous.flush();
hex=0x0C;
ous.write(hex);
ous.flush();
ous.close();
System.out.println("FIN ECRITURE");
}
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());
} //fin while
} //fin de la methode listePortsDispo()
public void close(){
serialPort.close();
}
public static void main(String args[]){
TestPortSerie t= new TestPortSerie ("COM1");
t.close();
}
} |
Merci bcp de m’aider car vraiment c’est la 1ere fois que je développe en bas niveau, je n'ai pas bien compris la doc et je devrai terminer ces fonctionnalités, mon but c’est d’afficher les différentes informations concernant les articles.
Merci d’avance
Partager