Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

SerialPort.Open, méthode

Ouvre une nouvelle connexion au port série.

Espace de noms :  System.IO.Ports
Assembly :  System (dans System.dll)

public void Open()

ExceptionCondition
UnauthorizedAccessException

L'accès au port est refusé.

- ou -

Le processus actuel, ou un autre processus sur le système, a déjà le port COM spécifié ouvert par une instance SerialPort ou dans le code non managé.

ArgumentOutOfRangeException

Une ou plusieurs propriétés de cette instance ne sont pas valides. Par exemple, les propriétés Parity, DataBits ou Handshake n'ont pas des valeurs valides ; BaudRate est inférieure ou égale à zéro ; la propriété ReadTimeout ou WriteTimeout est inférieure à zéro et n'a pas la valeur InfiniteTimeout.

ArgumentException

Le nom de port ne commence pas par "COM".

- ou -

Le type de fichier du port n'est pas pris en charge.

IOException

L'état du port n'est pas valide.

- ou -

Une tentative de définition de l'état du port sous-jacent a échoué. Par exemple, les paramètres passés de cet objet SerialPort n'étaient pas valides.

InvalidOperationException

Le port spécifié sur l'instance actuelle du SerialPort est déjà ouvert.

Il ne peut y avoir qu'une connexion ouverte par objet SerialPort.

La meilleure pratique pour toute application consiste à attendre un certain temps après l'appel de la méthode Close avant d'essayer d'appeler la méthode Open dans la mesure où le port peut ne pas être fermé instantanément.

L'exemple de code suivant illustre l'utilisation de la classe SerialPort pour autoriser deux utilisateurs à dialoguer en ligne à partir de deux ordinateurs distincts reliés par un câble null-modem. Dans cet exemple, les utilisateurs sont invités à entrer les paramètres de port et un nom d'utilisateur avant de dialoguer en ligne. Cet exemple de code fait partie d'un exemple plus complet fourni pour la classe SerialPort.


public static void Main()
{
    string name;
    string message;
    StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
    Thread readThread = new Thread(Read);

    // Create a new SerialPort object with default settings.
    _serialPort = new SerialPort();

    // Allow the user to set the appropriate properties.
    _serialPort.PortName = SetPortName(_serialPort.PortName);
    _serialPort.BaudRate = SetPortBaudRate(_serialPort.BaudRate);
    _serialPort.Parity = SetPortParity(_serialPort.Parity);
    _serialPort.DataBits = SetPortDataBits(_serialPort.DataBits);
    _serialPort.StopBits = SetPortStopBits(_serialPort.StopBits);
    _serialPort.Handshake = SetPortHandshake(_serialPort.Handshake);

    // Set the read/write timeouts
    _serialPort.ReadTimeout = 500;
    _serialPort.WriteTimeout = 500;

    _serialPort.Open();
    _continue = true;
    readThread.Start();

    Console.Write("Name: ");
    name = Console.ReadLine();

    Console.WriteLine("Type QUIT to exit");

    while (_continue)
    {
        message = Console.ReadLine();

        if (stringComparer.Equals("quit", message))
        {
            _continue = false;
        }
        else
        {
            _serialPort.WriteLine(
                String.Format("<{0}>: {1}", name, message));
        }
    }

    readThread.Join();
    _serialPort.Close();
}

public static void Read()
{
    while (_continue)
    {
        try
        {
            string message = _serialPort.ReadLine();
            Console.WriteLine(message);
        }
        catch (TimeoutException) { }
    }
}


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft