Sprache

SerialPort.Parity Eigenschaft

Definition

Ruft das Paritätsüberprüfungsprotokoll ab oder legt es fest.

public:
 property System::IO::Ports::Parity Parity { System::IO::Ports::Parity get(); void set(System::IO::Ports::Parity value); };
public System.IO.Ports.Parity Parity { get; set; }
[System.ComponentModel.Browsable(true)]
public System.IO.Ports.Parity Parity { get; set; }
member this.Parity : System.IO.Ports.Parity with get, set
[<System.ComponentModel.Browsable(true)>]
member this.Parity : System.IO.Ports.Parity with get, set
Public Property Parity As Parity

Eigenschaftswert

Einer der Enumerationswerte, die das Paritätsüberprüfungsprotokoll darstellt. Der Standardwert lautet None.

Attribute

Ausnahmen

Der Port befindet sich in einem ungültigen Zustand.

-oder-

Fehler beim Versuch, den Status des zugrunde liegenden Ports festzulegen. Die parameter, die von diesem SerialPort Objekt übergeben wurden, waren beispielsweise ungültig.

Der Parity übergebene Wert ist kein gültiger Wert in der Parity Enumeration.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der SerialPort Klasse veranschaulicht, um zwei Benutzern das Chatten von zwei separaten Computern zu ermöglichen, die über ein NULL-Modemkabel verbunden sind. In diesem Beispiel werden die Benutzer vor dem Chatten zur Eingabe der Porteinstellungen und eines Benutzernamens aufgefordert. Dieses Codebeispiel ist Teil eines größeren Codebeispiels, das für die SerialPort Klasse bereitgestellt wird.

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) { }
    }
}
Public Shared Sub Main()
    Dim name As String
    Dim message As String
    Dim stringComparer__1 As StringComparer = StringComparer.OrdinalIgnoreCase
    Dim readThread As New Thread(AddressOf 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__1.Equals("quit", message) Then
            _continue = False
        Else
            _serialPort.WriteLine([String].Format("<{0}>: {1}", name, message))
        End If
    End While

    readThread.Join()
    _serialPort.Close()
End Sub

Public Shared Sub Read()
    While _continue
        Try
            Dim message As String = _serialPort.ReadLine()
            Console.WriteLine(message)
        Catch generatedExceptionName As TimeoutException
        End Try
    End While
End Sub

Hinweise

Parität ist eine Fehlerüberprüfungsprozedur, bei der die Anzahl von 1s für jede Gruppe von Bits, die ohne Fehler übertragen wird, immer gleich sein muss – entweder gleich oder ungerade. Bei der Modem-zu-Modem-Kommunikation ist die Parität häufig einer der Parameter, die von Sende- und Empfangsparteien vereinbart werden müssen, bevor die Übertragung stattfinden kann.

Wenn für das nachfolgende Byte eines Datenstroms ein Paritätsfehler auftritt, wird dem Eingabepuffer ein zusätzliches Byte mit dem Wert 126 hinzugefügt.

Gilt für: