À l'aide de Série sur Python / Win7
Je suis en train de faire l'interface avec un port série haut débit mobile modem (pour le diagnostic /la force du signal des fins d'évaluation). C'est via le bord de COM1 (115200-8-n-1) sur mon bureau, la connexion fonctionne via PuTTY. Je peux script les commandes à l'aide de Python, mais je vais avoir un moment difficile obtenir pour ouvrir le port série .
J'ai installé Python 2.7.1 et PySerial selon les instructions. Je suis l'administrateur local de ma machine et Python avec et sans privilèges d'administrateur, mais je reçois le suivant lorsque j'essaie d'ouvrir le port:
Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>> s = serial.Serial(
... port='COM1',
... baudrate=115200
... )
>>> s.open()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 56, in open
raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.W
inError()))
serial.serialutil.SerialException: could not open port COM1: [Error 5] Access is
denied.
C'est ma compréhension que 8-N-1 est la valeur par défaut, et même quand j'essaie de régler manuellement il jette la même exception.
Quelqu'un peut-il offrir des conseils?
Merci à l'avance.
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin d'appeler
open
. Le constructeur déjà fait ça, et sur Windows celui qui ouvre un port COM a un accès exclusif à elle jusqu'à ce qu'ils le fermer.Comme pour le deuxième problème, jetez un oeil à Comment puis-je réparer "[Erreur 6] Le handle n'est pas valide." avec PySerial
>> se = serial.Serial() >> se.baudrate = 115200 >> se.bytesize = 8 >> se.stopbits = 1 >> se.xonxoff = 0 >> se.rtscts = 0 >> se.port = 0 # = COM1 >> parity=serial.PARITY_NONE >> se.isOpen() False >> se.open() >> se.write('AT\r\n') Traceback (most recent call last): ... raise SerialException("WriteFile failed (%s)" % ctypes.WinError()) serial.serialutil.SerialException: WriteFile failed ([Error 6] The handle is invalid.)
des idées? PS Désolé re:format deVoici ce que je fais pour éliminer
Access Denied Error
:Appuyez sur Ctrl + Alt + Del
Sélectionnez
pythonw.exe
et appuyez sur à la Fin du ProcessusRé-Exécuter votre application en IDLE
Il doit être exécuté sans erreur accès refusé.
Vous devez être en cours d'exécution
python.exe
en mode élevé. Faire un clic droit et cliquez surRun as administrator