2014-02-18 25 views
0

我正在處理涉及嵌入式設備的項目。我希望發送一個命令到這個設備。該命令是一個字符串:「LAMP1_ON \ r \ n」;發送字符串到串口作爲嵌入式設備的命令

我用RXTX和java通過串口發送數據。但是,當我發送字符串命令時,設備收到「AMP_N」和一些其他分散的字符串。

我不知道爲什麼是這樣,以及我如何解決它。

我的代碼如下:

public class SerialWriter implements Runnable { 

    OutputStream out; 
    String str; 
    public SerialWriter(OutputStream out, String str) { 
     this.out = out; 
     this.str = str; 
    } 

    public void run() { 
     try { 

      byte[] array = this.str.getBytes(); 

       this.out.write(array); 
       this.out.flush(); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

我希望通過寫入方法的字符串發送到端口。它的工作原理,但它不會發送包含在this.str中的確切字符串,而是發送「AMP_N」和「AMP」並分散字符串

+0

我看到了問題。我沒有正確設置FLOWCONTROL屬性。謝謝。此代碼正常工作 –

+0

將其添加爲答案並接受它,以便其他人可以更清楚地看到它 – DeadChex

回答

0

我看到了問題。我沒有正確設置FLOWCONTROL屬性。謝謝。此代碼正常工作

serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); 
      serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);