PySerial [Erreur 5] l'Accès est Refusé
Je suis en train d'écrire un programme en Python qui passe en boucle à garder le contrôle du port série (COM4) et d'imprimer un message lorsque le caractère "1" est lu à partir du port série. Je souhaite envoyer un "1" sur le port série de l'Arduino gadget à la simple pression d'un bouton.
Cependant, j'obtiens l'erreur "[Erreur 5]: Accès Refusé" lorsque j'essaie de créer une instance d'une série d'objets. (Il tente automatiquement d'ouvrir lors de l'instanciation, qui est l'endroit où l'erreur est, de ce que je peux voir à partir du fichier dans le PySerial package qui gère cela.)
Mon code:
c = serial.Serial('COM4', 9600)
while True:
signal = c.read()
print signal
print "running"
time.sleep(2)
c.flushOutput()
Il n'est jamais passé le "c = numéro de série.Série('COM4', 9600). C'est l'endroit où l'erreur s'affiche. Comment puis-je résoudre ce problème?
Vérifiez si d'autres processus utilise le port com.
OriginalL'auteur TomKo | 2011-11-28
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR: Ce n'est apparemment plus possible dans PySerial 3.0.
Sous Windows, j'ai toujours utilisé le port=<int> approche avec succès.
I. e. modifiez votre code pour:
Le paramètre de port peut être une chaîne ou un nombre. Lorsqu'un nombre sous Windows, c'est la base zéro de port COM. Ainsi, 0 est COM1 et 3 est COM4. C'est possible", COM4:" le travail aussi, mais je n'ai jamais essayé.
Eh bien, stackoverflow.com/questions/5602349/... implique que "COM4" devrait fonctionner. Googler tourne éventuels problèmes avec les noms de ports série virtuels. Je suppose que le port=<int> fonctionne autour de ces questions liées à la toponymie.
Si je pouvais upvote plusieurs fois, je le ferais. Merci! 🙂
Série 3.x ne pas accepter un numéro de port en plus
OriginalL'auteur David K. Hess
Pour
Python 2.6
utiliser la base zéro port COM de l'index. PourPython 2.7.x
vous pouvez utiliser le nom complet "COM4". De mon expérience, il est préférable d'utiliser la version 2.7. Installer Python 2.7.x et Outils de configuration (aka Facile à Installer). Une fois que vous avez cela, installez pyserial module en tapanteasy_install -U pyserial
(voir pyserial installation doc).N'oubliez pas d'ajouter python chemin à
PATH
variable d'environnement.OriginalL'auteur Jakub Czaplicki
Pour moi la solution n'a pas fonctionné, mais ce qui a fonctionné a été la fermeture de toutes les applications qui ont été en interaction avec le port com.
serial
d'impossibilité d'accès au port.OriginalL'auteur Lucas B
qui fonctionne avec le PORT COM N-1
en python
(N est le nombre de vos COM)
OriginalL'auteur Andres Zambrano Lizarazo
S'il vous plaît, de prendre soin avec les versions de python.
De la pyserial manuel à propos de: classe de série.Série
https://pyserial.readthedocs.io/en/latest/pyserial_api.html#classes
...........
Le port est immédiatement ouvert sur la création de l'objet, lorsqu'un port est donné. Il n'est pas ouvert quand le port est None et un successives de l'appel à open() est nécessaire.
port est un nom de périphérique: en fonction de votre système d'exploitation. par exemple, /dev/ttyUSB0 sur GNU/Linux ou COM3 sur Windows.
............
Changé dans la version 3.0: numéros de port argument ne sont plus pris en charge
OriginalL'auteur Dhomo