Aller au contenu


Photo
- - - - -

configuration de port série en java


  • Veuillez vous connecter pour répondre
Aucune réponse à ce sujet

#1 sabrine

sabrine

    Nouveau membre

  • Membres
  • 1 messages

Posté 17 mars 2012 - 08:19

Salut,
Je suis une étudiante,je suis débutante en Arduino.
J'ai utilisé com0com et rxtx pour écrire un petit programme java pour intercepter les octets entre avrdude et mon port com d'habitude (COM4) pour voir exactement ce a été envoyé et reçu. J'ai fait mon code mais j'ai toujors la même erreur:
Mon code est voila:
**********************************************
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;


public class ComProxy {
public static final String applicationComPort = "COM7";
public static final String deviceComport = "COM4";
public static final int baud=19200;


static InputStream input1;
static OutputStream output1;

static InputStream input2;
static OutputStream output2;

static OutputStream out;

public static void main(String[] args) throws Exception {
// out=new FileOutputStream("/comproxy.log");
out=System.out;

CommPortIdentifier portId1 = CommPortIdentifier
.getPortIdentifier(applicationComPort);

CommPortIdentifier portId2 = CommPortIdentifier
.getPortIdentifier(deviceComport);

System.out.println("Serial Proxy Starting");
System.out.println("Serial application port: " + portId1.getName());
System.out.println("Serial proxied to device port: " + portId2.getName());


SerialPort port1 = (SerialPort) portId1.open("serial madness1", 4000);
input1 = port1.getInputStream();
output1 = port1.getOutputStream();
port1.setSerialPortParams(baud,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
//this assumes the application starts the serial conversation
while(input1.available() > 0){ input1.read();};
System.out.println("waiting for "+applicationComPort+" activity...");
while(input1.available() ==0);


SerialPort port2 = (SerialPort) portId2.open("serial madness2", 4001);
input2 = port2.getInputStream();
output2 = port2.getOutputStream();
port2.setSerialPortParams(baud,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
while(input2.available() > 0){ input2.read();};



System.out.println("proxy started");

while (true) {
int c;
if(input1.available() > 0){
c=input1.read();
out.write(("I"+hexval©+"\n").getBytes());
output2.write©;
}
if(input2.available() > 0){
c=input2.read();
out.write(("O"+hexval©+"\n").getBytes());
output1.write©;
}
}
}
public static void waitfor(int w) throws Exception{
int c;
do{
while(input2.available() == 0);
c=input2.read();
System.out.println((char)c + " " + (int) c);
}while(c != w);
}


static String hexvals[] = {
"0", "1","2","3","4","5","6","7","8","9", "A", "B", "C", "D", "E","F"};

static String hexval(int i){
return hexvals[i/16] + hexvals[i%16];
}
}

****************************************************************
Lors de la compilation j'ai le message d'erreur suivant:

Java lib Version = RXTX-2.1-7
WARNING: RXTX Version mismatch
Jar version = RXTX-2.1-7
native lib Version = RXTX-2.1-7pre16
Exception in thread "main" gnu.io.NoSuchPortException
at gnu.io.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:218)
at test.Test.main(Test.java:28)
Java Result: 1

BUILD SUCCESSFUL (total time: 15 seconds)
***********************************************
Pouvez vous m'aider à avoir la bonne solution en corrigeant cette faute

Merci d'avance!!
bonne salutation!!




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users