8
votes

Comment puis-je corriger "[erreur 6] la poignée n'est pas valide." avec pysérien

J'essaie de vous connecter à mon téléphone à partir de mon PC Windows 7 à l'aide de PYSERIAL avec le code suivant: xxx

mais obtenez l'erreur suivante sur l'appel d'écriture: < Pré> xxx

J'ai essayé de se connecter avec Teraterm et cela fonctionne bien, ce n'est donc pas un problème avec la connexion au téléphone lui-même.

Je cherche autour de vieilles Essayer de trouver une solution mais je n'ai pas marché quelque chose qui fonctionne. Des idées?


0 commentaires

5 Réponses :


6
votes

Je suis sur Windows 7 64 bits, avec Python 2.6, et cela me donne la même erreur. XXX

Lorsque vous utilisez un programme similaire à l'aide d'une bibliothèque C, le même port répond correctement. Que se passe t-il ici? Cela ressemble à un bug de pysérien ou de CTTYPES. Utilisez-vous aussi 64 bits?

Le code source d'écriture en pysérien est très simple xxx

peut-être un problème avec 64 bits CTTPES?


mise à jour: Certainement un problème de 64 bits au moins pour moi. Je viens d'installer une version X86 de Python (3.1 cette fois), et cela fonctionne maintenant bien. Il ne peut importer que 64 bits de bibliothèques de bits. Cela semble très étrange de ne pas pouvoir atteindre cependant des bibliothèques de système d'exploitation.


1 commentaires

OK merci. J'utilise une version 64 bits de Python que vous soupçonnez. Je vais lui donner une version 32 bits.



7
votes

Je viens de résoudre ce problème sur 64 bits Windows (XP, Vista et 7).

Ce problème est causé par la coulée de poignée non valide qui jette la valeur supérieure de 64 bits de 64 bits en raison de l'ancien Python-Win32. les fonctions. Si vous avez confronté ce type de problème, veuillez utiliser les nouvelles fonctions Python-Win32 qui sont incluses dans les modules Win32file, etc.. Veuillez écrire le code suivant via les packages de site \ série \ sériialwin32.py. xxx


3 commentaires

Genre de zombie-post, mais j'ai essayé cela, et maintenant je reçois une nouvelle erreur, spécifiquement, fichier self.port.flushinput () "C: \ python27 \ lib \ site-packages \ série \ sérialwin32.py" , Ligne 273, dans l'entrée de flush win32.Purgecomm (self.hcorge, win32.purge_rxbort) ct32.parge_rxabort) ct32.argumentError: argument 1: : mauvais type


Même problème que @camperdave, quelqu'un a-t-il compris cela?


J'ai des malheurs similaires. Je pense que ce patch avait un temps et un endroit qui s'est passé. Essayer 2.6, alors allez revenir sur 2,4.



1
votes

J'ai observé ce problème avec Python 2.7 Win7 X64 et PYSERIAL 2.5 installé automatiquement à partir d'EASY_INSTALL.EXE

Le problème n'est pas là avec PYSERIAL 2.4, donc si votre code est compatible avec 2,4, utilisez simplement celui-ci et le problème est résolu. Notez que vous devez également utiliser PYWIN32 et avez choisi la version correspondant à votre Python (par exemple PYWIN32-216.WIN-AMD64-PY2.7.EXE).

Voir aussi https://sourceforge.net/tracker/? Func = Détail & Aid = 2921959 & GROUP_ID = 46487 & ATTID = 446302% 5D2921959


0 commentaires


1
votes

Cela m'est arrivé aussi et c'était en fait du fait que le port série étant fermé lorsque j'ai essayé d'y accéder. C'est parce que j'utilisais une structure «avec» qui veille à fermer le port après et à un refactoring de code de mauvais code conduit à ce problème.


1 commentaires

Cela a fini par être mon problème aussi. Merci!