2011-01-05 189 views
2

我使用以下設置一個PL200杆顯示器極顯示器上顯示的消息 * char類型:美國/歐洲(默認) *命令模式:EPSON(默認值)波特率 *率: 9600,n,8,1(默認值?) * Passthru None(默認)需要幫助在Java

顯示屏每次運行我的代碼時都會關閉,並且收到「設備無法識別此命令」的異常消息。

我想我沒有得到正確的命令任何人都可以給示例代碼寫入極點顯示?

代碼...

try 
    { 
    CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("COM1"); 
     if (portIdentifier.isCurrentlyOwned()) 
     { 
      System.out.println("Port in use!"); 
     } 
     else { 
     System.out.println(portIdentifier.getName()); 

     SerialPort serialPort = (SerialPort) portIdentifier.open("ListPortClass", 300); 
     int b = serialPort.getBaudRate(); 
     System.out.println(Integer.toString(b)); 
     serialPort.setSerialPortParams(300, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); 
     OutputStream mOutputToPort = serialPort.getOutputStream(); 
     InputStream mInputFromPort = serialPort.getInputStream(); 
     String mValue = "AT\r"; 
     System.out.println("beginning to Write . \r\n"); 
     mOutputToPort.write(mValue.getBytes()); 
     System.out.println("AT Command Written to Port. \r\n"); 
     mOutputToPort.flush(); 
     System.out.println("Waiting for Reply \r\n"); 
     Thread.sleep(500); 
     byte mBytesIn [] = new byte[20]; 
     mInputFromPort.read(mBytesIn); 
     mInputFromPort.read(mBytesIn); 
     String value = new String(mBytesIn); 
     System.out.println("Response from Serial Device: "+value); 
     mOutputToPort.close(); 
     mInputFromPort.close(); 
    } 
    catch (Exception ex) 
    { 
     System.out.println("Exception : " + ex.getMessage()); 
    } 
+0

你想*發送到顯示器? (哪個命令 - 或者「AT」是你想要顯示的文本?) – 2011-01-05 13:50:39

+0

你試過了自檢嗎? (發送'byte [] {0x1f,0x40}') – 2011-01-05 13:55:00

回答

2

你的波特率可能不正確。該設備在9600或19200波特上運行,但您已將端口速率設置爲300波特。

我期望這樣一行:

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

我把我的智慧this resource - 從來沒有使用過這種裝置。據我瞭解,這些命令是:

new byte[]{0x0C} // clear display 
new byte[]{0x1f, 0x24, 0x01, 0x02}; // move cursor to column 1, row 2 (example) 
+0

感謝波特率是問題... – user562612 2011-01-06 09:03:44

+0

您好,請再說一次,我如何清除杆顯示屏以及設置光標位置? – user562612 2011-01-06 09:06:08

+0

謝謝你們,但現在工作... – user562612 2011-01-07 07:56:19