web-dev-qa-db-fra.com

API Javax.comm sur Windows 64 bits

J'utilise l'API javax.comm pour aider mon programme à communiquer avec le matériel via le port série. J'utilise Windows 7 et NetBeans IDE 9.

J'ai utilisé le programme Java Java pour vérifier les ports disponibles sur mon PC. Le programme a été compilé et exécuté sans erreur. Cependant, il n'a rien renvoyé.

Que puis-je faire pour utiliser l'API javax.comm sous Windows? Il semble que win32com.dll ne fonctionne pas avec un système d'exploitation 64 bits.

18
Nathi

C'est ainsi que je l'ai fait fonctionner.
Je l'ai testé en utilisant JDK 1.6 (32 bits) sur ma machine Windows 7 64 bits.

  1. Installez JDK 32 bits.
  2. Copiez 'win32com.dll' dans JDK_HOME\jre\bin.
  3. Copiez 'javax.comm.properties'to dans JDK_HOME\jre\lib.
  4. Copiez 'comm.jar'to dans JDK_HOME\jre\lib\ext.

Maintenant, exécutez votre programme et cela devrait fonctionner.

9
Alan

Les versions 2.2pre récentes de RXTX incluent des binaires pour les fenêtres 64 bits. Je pense que la dernière source d'information RXTX a changé en: http://rxtx.qbang.org au lieu de - http://www.rxtx.org cependant.

À un moment donné, la bibliothèque RXTX a inclus une prise en charge directe pour utiliser l'api javax.comm. Je ne sais pas si c'est toujours le cas, mais le principal changement alors d'utiliser le packaging RXTX "natif" était principalement juste un changement de nom de package.

5
kaliatech

il semble que le win32com.dll ne fonctionne pas avec le système d'exploitation 64 bits

Je pense que c'est exact. En fait, selon la page de téléchargement appropriée, Oracle ne prend plus en charge le javax.comm API for any Plateforme Windows.

Cependant, j'ai trouvé cette page qui a une version 64 bits de la DLL, entre autres.

[~ # ~] modifier [~ # ~]

Par une recherche étonnante (c'est-à-dire en suivant les liens et en lisant des trucs), j'ai trouvé le page de téléchargement pour le dernier RXTX, qui prétend avoir des binaires pour diverses plates-formes. Si votre plateforme n'est pas là, essayez de construire à partir de la source. Si cela ne fonctionne pas, envisagez d'investir l'effort pour le faire fonctionner.

3
Stephen C

J'ai intégré des bibliothèques RXTX dans certains de mes projets précédents et j'ai découvert ce bogue qu'il a en travaillant avec les ports de communication sous Windows, donc vous voudrez peut-être le vérifier d'abord avant de vous lancer dans une conception d'application sérieuse. La communication fonctionne bien, n'a jamais eu de problème avec cela, mais une fois que vous ouvrez le port, vous ne pouvez pas le fermer et le rouvrir, si vous utilisez la méthode fournie pour fermer le port, votre application se bloque simplement, sans exception ni rien. J'ai trouvé plus tard le même comportement décrit par les utilisateurs sur le Web, mais je n'ai jamais vraiment trouvé la solution à ce problème. Encore une fois, cela pourrait vous aider à gagner du temps, vérifiez-le d'abord.

La dernière version, qui est la suivante http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.Zip , n'a plus ce problème. Malheureusement, je pense que ce n'est résolu que pour Windows, il est toujours là sur les binaires Linux, et je ne l'ai pas essayé sur mac.

2
Lazar

J'ai eu ce problème ... sur une machine 64 bits ... exécutant Windows 7

une application héritée développée en jdk 1.4, pour des fenêtres 32 bits ... et utilisant le binaire api win32 comm

j'ai essayé le binaire RXTX pour 64 bits et j'ai pu communiquer avec mon appareil à un certain niveau ... mais ... il y avait d'autres problèmes car mon application faisait référence à une version de la bibliothèque jpos qui utilisait en interne le comm-api ( avait import javax.comm. * ... dans une classe Serial ... Listener) ....

J'ai installé un jdk 32 bits et configuré les binaires comm-api pour les fenêtres 32 bits comme indiqué ici ... configuré l'api comm sur les fenêtres

tout allait bien après

1
wilkanah

Avez-vous un aperçu de RXTX ? Je pense qu'il est toujours actif.

1
PeterMmm

Vous pourriez être intéressé par une autre bibliothèque que j'ai créée: http://code.google.com/p/jperipheral/

1
Gili