Forcer un port COM à fermer
Je travaille sur une application qui utilise le port COM pour la communication avec un contrôleur externe. Lorsque je redémarre le PC avec un câble de communication connecté, Windows (7) ouvre le port, sans aucune application en cours d'exécution, donc je ne peux pas y accéder. J'ai essayé de le fermer par programmation, mais il reste simplement pris.
Tout le monde a une idée de comment puis-je le forcer à fermer, à n'importe quel programme je peux courir avant mon application, ou une manière d'en programmant la fermer n'importe quoi?
source d'informationauteur Clone
Vous devez vous connecter pour publier un commentaire.
Pas il n'y a pas moyen de forcer le port à proximité (voir ce question). Il n'y a aucun moyen de forcer un autre processus pour fermer le port de sorte que vous pouvez prendre.
Mais Windows n'est pas en ouvrant le port, par lui-même - une autre application en cours d'exécution en arrière-plan est probablement de le faire. Télécharger Process Explorer et utiliser la fonction "Trouver la Poignée ou de la DLL" dans le menu Rechercher pour rechercher le processus avec le port com. Si c'est un port COM physique sur la machine, il sera nommé Serial0, Serial1, ..., ou SerialN où COM1 cartes à Serial0. Si c'est un USB au port COM de l'adaptateur, je ne suis pas sûr de ce que l'ID de l'appareil sera.
Vous pouvez également essayer d'utiliser PortMon à surveiller l'activité sur le port. PortMon va vous montrer le processus qui a le port ouvert.
Je n'ai pas réussi à fermer le port, mais après beaucoup de recherche et d'essais, j'ai trouvé quelle était la source de mes problèmes. Je poste la solution pour aider toute personne qui a le même problème.
Windows identifie les périphériques avec la constante de flux de données connecté au port série de série de la souris (dans ce système, Microsoft Série de stylo à Bille), et tente de les installer, de prendre le contrôle sur le port sans un processus à l'aide. La solution est d'attendre pour Windows pour installer le périphérique (vérifiez le Gestionnaire de Périphériques sous les Souris Et Autres Périphériques de Pointage) et de DÉSACTIVATION. Si vous désinstallez l'appareil sera installé à nouveau, et le problème est de retour.
Merci à tous ceux qui ont essayé de l'aider, et j'espère que d'autres vont trouver la solution utile.
comment j'ai résolu était éteint l'appareil avec la sortie continue, débranchez le câble usb, branchez-la à nouveau pour que windows détecte le numéro de port com, puis remettre l'appareil sous tension.
Ma conjecture est que lorsque vous fermez votre application et redémarrer le PC, le contrôleur externe n'est pas de clôture, elle est à côté de choses gracieusement et est laissé dans un état indéfini.
Lorsque le PC est redémarré le contrôleur est toujours dans cet état illégales et il donne l'apparence que vous ne pouvez pas ouvrir le port sur le PC parce que les communications ne peut pas être rétabli correctement.
Peut-être le contrôleur externe est de ne pas traiter les changements d'état de l'DTR/DSR lignes correctement?
Comment est le câble entre le PC et le contrôleur filaire?
Difficile d'en dire beaucoup plus sans connaître les détails.
Quelque chose comme cela?
Ce que j'ai fait a été de désactiver le contrôleur, l'éteindre, redémarrer mon ordinateur, allumez-le (dès que le chargement de windows) et revenir à l'activer. Il a travaillé pour moi avec deux microcontrôleurs avec ce problème.