2013-04-11 7 views
5

Sto costruendo una semplice applicazione che comunica attraverso la porta seriale utilizzando l'API di comunicazione Java javax.comm.CommPortIdentifier.getPortIdentifiers è vuoto

Ecco il codice Java nel mio metodo principale per cui ho scritto:

CommPortIdentifier cpi = null; 
     Enumeration e = CommPortIdentifier.getPortIdentifiers(); 
     while (e.hasMoreElements()) { 
      try { 
       cpi = (CommPortIdentifier) e.nextElement(); 
      } catch (NoSuchElementException n) { 

      } 
      System.out.println(cpi.getName()); 
     } 

Enumeration E è sempre vuoto, anche se sono collegato a una porta COM 4 durante l'esecuzione di questo.

anche, l'esecuzione di questo codice:

portRead = CommPortIdentifier.getPortIdentifier("COM8"); 

causa del lancio di NoSuchPortException

Credo di aver fatto la parte di installazione in modo corretto e collocato il file delle proprietà, il file win32com.dll nei posti giusti .

Sai qual è il problema?

Thank You

risposta

3

Assicurarsi che win32com.dll (viene fornito con javax.com) si trova nella directory jre \ bin. Assicurarsi che javax.comm.properties (fornito con javax.com) sia nella directory jdk \ lib.

-1

porto Trova in cui il dispositivo è in funzione (Prova guscio di potenza o terminale iper per trovare tutte le porte COM tentano link)

+2

notare che le risposte di collegamento solo sono scoraggiati, SO risposte dovrebbero essere il punto finale di una ricerca di una soluzione (contro l'ennesima tappa di riferimenti, che tendono ad ottenere stantio nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento. – kleopatra

5

Ricordate sempre è necessario aggiungere tutti i file decompressi dal javax.comm.zip a jre

win32com.dll - jre/bin

comm.jar - jre/lib/ext

java.comm.properties - jre/lib (problema eccezione dopo l'aggiunta di questo ho trovato risolto)