喜讀書,我有財產以後這樣RXTX如何從COM端口
package compot;
import java.util.Enumeration;
import gnu.io.*;
public class core {
private static SerialPort p;
/**
* @param args
*/
public static void main(String[] args)
{
Enumeration ports = CommPortIdentifier.getPortIdentifiers();
System.out.println("start");
while(ports.hasMoreElements())
{
CommPortIdentifier port = (CommPortIdentifier) ports.nextElement();
System.out.print(port.getName() + " -> " + port.getCurrentOwner() + " -> ");
switch(port.getPortType())
{
case CommPortIdentifier.PORT_PARALLEL:
System.out.println("parell");
break;
case CommPortIdentifier.PORT_SERIAL:
//System.out.println("serial");
try {
p = (SerialPort) port.open("core", 1000);
int baudRate = 57600; // 57600bps
p.setSerialPortParams(
baudRate,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (PortInUseException e) {
System.out.println(e.getMessage());
} catch (UnsupportedCommOperationException e) {
System.out.println(e.getMessage());
}
break;
}
}
System.out.println("stop");
}
}
但我不知道如何從端口讀取?我已閱讀this tutorial,但我不知道他們是什麼「演示應用程序」?
編輯
OutputStream outStream = p.getOutputStream();
InputStream inStream = p.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(inStream));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
我添加此代碼,但我recive
穩定圖書館 =================== ====================== Native lib版本= RXTX-2.1-7 Java lib版本= RXTX-2.1-7開始/ dev/ttyUSB3 - > null - >底層輸入流返回零字節停止
任何後續行動?根本沒有反應? :p – chzbrgla
我編輯我的問題 –
這可能是流量控制的問題。你可以用port.setFlowControl()方法在端口上設置它。但是,我不可能知道應該使用哪種流量控制。也許開始閱讀有關串行端口的一般信息:http://tldp.org/HOWTO/Serial-HOWTO-4.html我建議閱讀輸入流字節明智不行。但這取決於您實際嘗試與之通信的設備。 – chzbrgla