Récupération de poids depuis une balance éléctronique

motie_kh Messages postés 2 Date d'inscription jeudi 9 avril 2015 Statut Membre Dernière intervention 9 avril 2015 - Modifié par motie_kh le 9/04/2015 à 13:11
motie_kh Messages postés 2 Date d'inscription jeudi 9 avril 2015 Statut Membre Dernière intervention 9 avril 2015 - 9 avril 2015 à 22:55
Bonjour tout le monde ,
je cherche à récupérer le poids affiché sur ma balance METLER TOLEDO connecté sur le port COM3 afin de l'afficher sur mon ecran ( en java biensur )
J'ai trouvé un code sur internet que j'ai testé, mais ca me donne rien ....
Le voilà :


import com.sun.comm.Win32Driver;
import java.io.*;
import java.util.Enumeration;
import javax.comm.*;

public class UtilisationFlux {

private BufferedReader bufRead; //flux de lecture du port
private OutputStream outStream; //flux d'écriture du port
private CommPortIdentifier portId; //identifiant du port
private SerialPort sPort; //le port série

public UtilisationFlux(String port) {

Win32Driver w32Driver = new Win32Driver();
w32Driver.initialize();

try {
portId = CommPortIdentifier.getPortIdentifier(port);
} catch (NoSuchPortException e) {
}

try {
sPort = (SerialPort) portId.open("UtilisationFlux", 60000);
} catch (PortInUseException e) {
}
try {
sPort.setSerialPortParams(
9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {
}
try {
outStream = sPort.getOutputStream();
bufRead =
new BufferedReader(
new InputStreamReader(sPort.getInputStream()));
} catch (IOException e) {
}
}

public String communique(char envoie) {
String poids = null;
try {
outStream.write((int) envoie);
poids = bufRead.readLine().trim();
} catch (IOException e) {
}
return poids;
}

public void close(){
try {
bufRead.close();
outStream.close();
} catch (IOException e) {
}
sPort.close();
}

public static void main(String[] args) {
String port = "COM3";
UtilisationFlux utilFlux = new UtilisationFlux(port);

System.out.println("taper q pour quitter, ou ENTER pour le poids");
BufferedReader clavier =
new BufferedReader(new InputStreamReader(System.in));
try {
String lu = clavier.readLine();
while (!lu.equals("q")) {
System.out.println(utilFlux.communique('$'));
lu = clavier.readLine();
}
} catch (IOException e) {
}
utilFlux.close();
}

}


Aidez moi s'il vous plait!!
Merci d'avance

2 réponses

BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
9 avril 2015 à 13:49
Hello,

Quand tu dis "ça ne donne rien", qu'est-ce que se passe exactement? As-tu testé en debug?
0
motie_kh Messages postés 2 Date d'inscription jeudi 9 avril 2015 Statut Membre Dernière intervention 9 avril 2015
9 avril 2015 à 22:55
Effectivement a l'execution ca me donne :

taper q pour quitter, ou ENTER pour le poids

si je tape q ca arrête l'execution, et si j'entre une valeure ca reste bloqué là sans aucune réponse

merci de m'avoir accordé du temps !
0
Rejoignez-nous