2011-10-29 16 views
4

私はこの質問が何回も尋ねられていることを知っています。私はgoogleからトップ20の検索結果を見てきました。javaを使用してシリアルポートを初期化する方法は?

portList = CommPortIdentifier.getPortIdentifiers(); 
System.out.println("portList... " + portList); 
while (portList.hasMoreElements()) { 
    portId = (CommPortIdentifier) portList.nextElement(); 
    if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { 
     System.out.println("port identified is Serial.. "+ portId.getPortType()); 
     if (portId.getName().equals("COM2")) { 
      System.out.println("port identified is COM2.. "+ portId.getName()); 
      SimpleRead reader = new SimpleRead(); 
     } else { 
      System.out.println("unable to open port"); 
     } 
    }else{ 
     System.out.println("pordId.PortType = "+portId.getPortType()); 
     System.out.println("CommPortIdentifier.PORT_SERIAL = "+CommPortIdentifier.PORT_SERIAL); 
    } 
} 

私は取得しています出力は

run: 

ポートリスト... [email protected] BUILD SUCCESSFUL(合計時間:0秒)である

誰が何を知っています間違っている?なぜportIdにはもっと多くの要素がありますか?プログラムはwhileループに入りません。

この投稿を読んでいただきありがとうございます。

答えて

2

私は問題を解決することができました。 javac.commが

1) win32com.dll to directory : jdk1.7.0/bin 
2) javax.comm.properties to directory : jdk1.7.0/jre/lib 
3) comm.jar to directory : jdk1.7.0/lib 

を動作させるために、私は次の場所にファイルをコピーする必要があり、今出力は

portList... [email protected] 
port identified is Serial.. 1 
port identified is CO11.. COM11 
In SimpleRead() contructor 
Serial Port.. COM11 
Input Stream... [email protected] 
................ 
port identified is Serial.. 1 
unable to open port 
pordId.PortType = 2 
CommPortIdentifier.PORT_SERIAL = 1 
pordId.PortType = 2 
CommPortIdentifier.PORT_SERIAL = 1 
ending main 
In run() function 
です
関連する問題