Bonjour,
les données que je transmets sont bonne en réception par contre les valeurs ne sont pas correcte.
Quelqu'un a une idée SVP.
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
95
96
97
98
99
100
 
 
public class SerialCom implements SerialPortEventListener {
 
	final int MAXSIZE = 1024;
 
public void openCom() throws PortInUseException,
			UnsupportedCommOperationException, IOException,
			TooManyListenersException {
 
		aSerialComPort = (SerialPort) theId.open(theNameaPli, theTimeOut);
 
//		aSerialComPort.setSerialPortParams(theConfig.getBaudsRate(),
//				theConfig.getNberOfBit(), theConfig.getStopBit(),
//				theConfig.getParity());
 
		aSerialComPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
		aSerialComPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
 
//		bufRead = new BufferedReader(new InputStreamReader(
//				aSerialComPort.getInputStream()));
		bufWrite = aSerialComPort.getOutputStream();
		this.bufRead = new BufferedReader( new InputStreamReader(aSerialComPort.getInputStream(), "ISO-8859-1") );
//		aSerialComPort.addEventListener(this);
//		aSerialComPort.notifyOnDataAvailable(true);
	}
 
	public void  closeCome() {
		aSerialComPort.close();
		aSerialComPort=null;
		try {
			bufRead.close();
			bufWrite.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 
 
	}
 
	public void write(String string) {
		if ( aSerialComPort != null)
		{
			threadSerialWriter mySenderTheard = null;
			mySenderTheard = new threadSerialWriter(bufWrite, string.getBytes(),
					string.length());
			mySenderTheard.start();
		}
		else 
		{
			System.out.println("port close");
 
		}
	}
 
	public byte[] read(  int _NberOfCar)
	{
		byte value =0;
		int aChar = 0;
		indexReceivedBuffer = 0;
		while (indexReceivedBuffer < MAXSIZE )
		{
			bufferReceived[indexReceivedBuffer]=0;
			indexReceivedBuffer++;
		}
		indexReceivedBuffer =0;
 
		do {
			try {
				aChar = bufRead.read();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			value = (byte) (0xff & aChar);
			if (value > 0)
			{
				bufferReceived[indexReceivedBuffer] = value;
System.out.println(Integer.toHexString(bufferReceived[indexReceivedBuffer]));
				indexReceivedBuffer++;
			}
		}
		while  (_NberOfCar > indexReceivedBuffer );
		System.out.println(bufferReceived);
		indexReceivedBuffer=0;
		return bufferReceived.clone();
	}
	private 
configSerial theConfig;
	private String theNameaPli;
	private CommPortIdentifier theId;
	private int theTimeOut;
	private SerialPort aSerialComPort;
	private BufferedReader bufRead; // flux de lecture du port
	private OutputStream bufWrite; // flux d'écriture du port
	private byte[] bufferReceived = null;
	private int indexReceivedBuffer = 0;
 
}
En vous remerciant