bonjour,
je dois envoyer des commandes spécifique à une imprimante connectée au port série, j'ai essayé ce programme que j'ai trouvé sur le net :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.Enumeration;
 
import javax.comm.CommPortIdentifier;
import javax.comm.SerialPort;
 
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 TestJavaComm
{
CommPortIdentifier portId;
BufferedReader in;
OutputStream out;
SerialPort serialPort;
 
/*
Constructeur de la classe TestJavaComm qui prend en paramètre le port série à utiliser.
Dans un premier temps on liste les ports disponibles sur le pc
*/
public TestJavaComm (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);
 
 
//on sélectionne tous les paramètres de la connexion série:
serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
System.out.println("Ouverture du port "+com);
 
//pour lire et écrire avec des streams:
out = serialPort.getOutputStream();
 
 
//Teste de lecture/ecriture sur le port série
 
out.write((int)'^');
out.write((int)'A');
out.write((int)'^');
out.write((int)'-');
out.write((int)'M');
out.write((int)'^');
out.write((int)',');
out.write((int)'^');
out.write((int)'X');
out.close();
 
}
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 TestJavaComm ("COM1");
}//fin du main
 
 
}//fin de la classe
j'arrive à lister les tous les port et à ouvrir le port COM1, mais apparament l'imprimante ne reçois rien, ou ne comprend rien,
l'imprimante fonctione à merveille, je l'ai essayer avec une application écrit en c++ qui envoie des commandes, ou plutôt un activex qui communique avec l'imprimante
merci de votre aide!!!!!!!