2013-04-11 2 views
5

Je construis une application simple qui communique via Serial Port en utilisant l'API de communication Java javax.comm.CommPortIdentifier.getPortIdentifiers est vide

Voici un code dans ma méthode java principale je l'ai écrit:

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 est toujours vide même si je suis connecté à un port COM 4 lors de l'exécution de cette.

aussi, l'exécution de ce code:

portRead = CommPortIdentifier.getPortIdentifier("COM8"); 

cause de la jet de NoSuchPortException

Je pense que je l'ai fait la partie de l'installation correctement et placé le fichier de propriétés, le fichier win32com.dll dans les bons endroits .

Savez-vous quel pourrait être le problème?

Merci Vous

Répondre

3

Assurez-vous que win32com.dll (est livré avec javax.com) est dans le jre \ bin. Assurez-vous que javax.comm.properties (fourni avec javax.com) se trouve dans le répertoire jdk \ lib.

-1

port Rechercher dans lequel votre appareil fonctionne (Essayez shell électrique ou hyper terminal pour trouver tous les ports com essayer link)

+2

Notez que lien uniquement les réponses sont découragés, SO réponses devraient être le point final d'une recherche d'une solution (par rapport à une autre étape de références, qui ont tendance à se rassis au fil du temps). S'il vous plaît envisager d'ajouter un synopsis autonome ici, en gardant le lien comme référence. – kleopatra

5

Rappelez-vous toujours que vous devez ajouter tous les fichiers décompressés de javax.comm.zip à jre

win32com.dll - jre/bin

comm.jar - jre/lib/ext

java.comm.properties - jre/lib (après avoir ajouté ce que j'ai trouvé résolu problème d'exception)