Exception unauthorised access au port série en C#

Résolu
mamymerye - 29 janv. 2013 à 15:52
dodo7263 Messages postés 614 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 - 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();
}

4 réponses

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
3
dodo7263 Messages postés 614 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 6
29 janv. 2013 à 16:16
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
0
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
0
dodo7263 Messages postés 614 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 6
30 janv. 2013 à 12:46
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
0
Rejoignez-nous