Exception unauthorised access au port série en C# [Résolu]

mamymerye - 29 janv. 2013 à 15:52 - Dernière réponse : dodo7263 642 Messages postés mercredi 10 septembre 2008Date d'inscription 9 février 2017 Dernière intervention
- 30 janv. 2013 à 12:46
Bonjour,

J'essai de programmer une application qui va gérer une communication en MODBUS, pour celà, je dois utiliser le port série COM1.

Mon problème c'est, quand j'ajoute la fonction "serialport.open()", et je commence à déboguer, je reçois l'exception suivante:


L'exception System.UnauthorizedAccessException n'a pas été gérée
HResult=-2147024891
Message=L'accès au port 'com2' est refusé.
Source=System


Et voici le bout de code qui génère cette erreur:

private void button1_Click(object sender, EventArgs e)
{
SerialPort inout = new SerialPort("com2",97600,Parity.None,8,StopBits.One);
inout.Open();
}
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
3
Merci
J'ai remarqué que ça n’apparaît que quand j'appuie sur le bouton deux fois, alors j'ai pensé que peut être j'essaie d'ouvrir la connexion quand elle est déjà ouverte. Alors j'ai changé le code :

SerialPort inout = new SerialPort("com2", 97600,Parity.None,8,StopBits.One);
            
private void button1_Click(object sender, EventArgs e)
{
    if (inout.IsOpen == false)
    inout.Open();
}


Je ne sais pas si c'était ça le problème ou pas mais ça empêche l'exception d'apparaître

Merci beacoup pour l'aide dodo7263

Merci mamymerye 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de mamymerye
dodo7263 642 Messages postés mercredi 10 septembre 2008Date d'inscription 9 février 2017 Dernière intervention - 29 janv. 2013 à 16:16
0
Merci
Salut,

Est ce qu'on ton port COM n'est pas déjà utilisé par un autre programme ?
Est ce que ta communication est bien sur le COM2 et pas sur un autre port ?

SD
Commenter la réponse de dodo7263
0
Merci
J'utilise le Virtual Serial Port Driver pour créer une liaison virtuelle entre Com1 et Com2, donc quand j'ouvre le gestionnaire de périphériques je trouve ça:

Ports (COM et LPT)
Application1 interface (COM25)
Application2 interface (COM26)
ELTIMA Virtual Serial Port (COM1->COM2)
ELTIMA Virtual Serial Port (COM2->COM1)

J'avoue que je ne sais pas ce que ça veux dire

L'autre application c'est un esclave modbus qui utilise le port COM1.
et merci d'avance
Commenter la réponse de mamymerye
dodo7263 642 Messages postés mercredi 10 septembre 2008Date d'inscription 9 février 2017 Dernière intervention - 30 janv. 2013 à 12:46
0
Merci
Salut,

Oui ça ressemblait étrangement à un port déjà ouvert ou occupé.
Si tu as résolu ton problème tu peux passer le sujet en résolu en cliquant sur "réponse acceptée".

SD
Commenter la réponse de dodo7263

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.