Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

SerialPort.Open méthode ()

 

Date de publication : novembre 2016

Ouvre une nouvelle connexion de port série.

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

public void Open()

Exception Condition
UnauthorizedAccessException

L’accès est refusé au port.

ou

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

ArgumentOutOfRangeException

Un ou plusieurs des propriétés de cette instance ne sont pas valides. Par exemple, le Parity, DataBits, ou Handshake propriétés ne sont pas des valeurs valides ; le BaudRate est inférieure ou égale à zéro ; le ReadTimeout ou WriteTimeout propriété est inférieure à zéro et n’est pas 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

Le port est dans un état non valide.

ou

Échec d’une tentative pour définir l’état du port sous-jacent. Par exemple, les paramètres transmis à partir de ce SerialPort objet n’étaient pas valides.

InvalidOperationException

Le port spécifié sur l’instance actuelle de la SerialPort est déjà ouvert.

Qu’une connexion ouverte peut exister par SerialPort objet.

La meilleure pratique pour toute application consiste à attendre d’une certaine quantité de temps après avoir appelé la Close méthode avant d’essayer d’appeler le Open (méthode), comme le port peut ne pas être fermé instantanément.

L’exemple de code suivant illustre l’utilisation de la SerialPort classe pour permettre à deux utilisateurs de chat à partir de deux ordinateurs distincts reliés par un câble null modem. Dans cet exemple, les utilisateurs sont invités pour les paramètres de port et un nom d’utilisateur avant de conversation. Cet exemple de code fait partie d’un exemple plus développé fourni pour la SerialPort classe.

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) { }
    }
}

SecurityPermission

for calling unmanaged code. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode Security action: F:System.Security.Permissions.SecurityAction.LinkDemand

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: