2010-09-04 37 views
3

im essayant d'écrire une chaîne à un COM4 qui est un adaptateur série USB en utilisant Visual Studio C# et obtenu l'erreur suivante:écriture sur le port COM sur C# ou python

Access to the port 'COM4' is denied.

Mon programme est extrêmement simple: J'ai aussi essayé

serialport.Open(); 
serialport.WriteLine("test"); 
serialport.Close(); 

en utilisant pyserial avec python et obtenu:

Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    ser.write("string") 
    File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 255, in write 
    raise SerialException("WriteFile failed (%s)" % ctypes.WinError()) 
SerialException: WriteFile failed ([Error 6] The handle is invalid.) 

Je sais que cette question n'est pas vraiment relat ed à la programmation et est probablement une chose Windows 7 mais j'espérais que quelqu'un a déjà eu un problème similaire.

Répondre

1

Cela n'avait rien à voir avec les permissions ni avec le port en cours d'utilisation. J'ai trouvé un related question qui disait que c'était à cause de la version que j'avais installée (64 bits Python et 32 ​​bits pyserial) que je me sens si bête. Ce que je n'arrive toujours pas à comprendre c'est pourquoi cela n'a pas fonctionné sur C# mais c'est OK. Je vais juste utiliser python.

1

Essayez ceci:

Faites un clic droit sur l'exécutable et choisissez « Exécuter en tant qu'administrateur ». Windows 7 exécute par défaut des programmes sans privilèges d'administrateur. Je parie que la possibilité d'écrire sur un port COM nécessite l'exécution d'un programme en tant qu'administrateur.

+0

J'ai essayé votre suggestion mais cela ne semble pas fonctionner –

+0

Avez-vous essayé de redémarrer votre ordinateur? Sérieusement, le débranchement de l'appareil pourrait détraquer les choses, et cela réglerait cela. Jetez un oeil à http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/49e8839e-e833-498d-a3a1-28922ec7bf43 – Turtle

+0

Le problème est que je ne serai pas capable de cela pour un script python. N'ai pas encore essayé avec le fichier exe. – kirbuchi

1

Vous ne pouvez pas avoir plusieurs connexions simultanées à un port série. Le port est probablement utilisé.

+0

+1, c'est la raison. –