Question

J'essaie d'écrire une chaîne sur un COM4 qui est un adaptateur USB-série à l'aide de Visual Studio C# et j'ai obtenu l'erreur suivante :

L'accès au port 'COM4' est refusé.

Mon programme est extrêmement simple :

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

J'ai également essayé d'utiliser pyserial avec python et j'ai 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 liée à la programmation et concerne probablement Windows 7, mais j'espérais que quelqu'un aurait déjà eu un problème similaire.

Était-ce utile?

La solution 3

Cela n'avait rien à voir avec les autorisations ni avec le port utilisé.j'ai trouvé un question connexe qui disait que c'était à cause de la version que j'avais installée (Python 64 bits et pyserial 32 bits), je me sens tellement idiot.

Ce que je n'arrive toujours pas à comprendre, c'est pourquoi cela n'a pas fonctionné non plus en C#, mais ce n'est pas grave.Je vais juste utiliser python.

Autres conseils

Essayez ceci:

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

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top