Salut a tous ,
mon objectif est de récupérer une trame a partir d'un port USB et de l'afficher avec un code java .
voila le code :
l'affichage est :
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
94 package projet; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.io.*; import java.util.*; public class dalel1 { CommPortIdentifier portId; BufferedReader in; PrintWriter out; SerialPort serialPort; String com; /* 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 dalel1 () {super(); }//fin constructeur public void connect() { System.out.println("donnez le numero de port com: "); Scanner sc = new Scanner(System.in); com=sc.nextLine(); try { // ouverture du port série: portId=CommPortIdentifier.getPortIdentifier("COM"+com); serialPort=(SerialPort)portId.open("projet",2000);//2000=time out // on sélectionne tous les paramètres de la connexion série: serialPort.setSerialPortParams(38400,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);//38400=rate System.out.println("Ouverture du port COM"+com); // pour lire avec des streams: in=new BufferedReader(new InputStreamReader(serialPort.getInputStream())); if (!in.equals(""))System.out.println("ok"); // Teste de lecture sur le port série if (!in.ready())System.out.println("ok"); String frame= new String(); try { //lecture du buffer et affichage frame = in.readLine(); //System.out.println("ok"); System.out.println(frame); } catch (IOException e) { } in.close(); } catch (Exception e) { e.printStackTrace(); } } 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()); System.out.println(portId); } //fin while } //fin de la methode listePortsDispo() /* Methode main qui permet de tester notre classe de tester en ouvrant une connexion sur le port COM1. */ public static void main(String args[]) { dalel1 d=new dalel1(); System.out.println("liste des ports série disponibles:" ); d.listePortsDispo(); d.connect(); }//fin du main }//fin de la classe
liste des ports série disponibles:
recherche...
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
* COM6
gnu.io.CommPortIdentifier@71a97
* COM7
gnu.io.CommPortIdentifier@62b39f
donnez le numero de port com:
6
Ouverture du port COM6
ok
ok
Svp aidez mois pour résoudre cette problème .
l'ouverture de port ça va ça marche mais reste l'affichage .
Merci d'avance.
Partager