SerialPort.Parity Property


Gets or sets the parity-checking protocol.

Namespace:   System.IO.Ports
Assembly:  System (in System.dll)

Public Property Parity As Parity

Property Value

Type: System.IO.Ports.Parity

One of the enumeration values that represents the parity-checking protocol. The default is None.

Exception Condition

The port is in an invalid state.

- or -

An attempt to set the state of the underlying port failed. For example, the parameters passed from this SerialPort object were invalid.


The Parity value passed is not a valid value in the Parity enumeration.

Parity is an error-checking procedure in which the number of 1s must always be the same—either even or odd—for each group of bits that is transmitted without error. In modem-to-modem communications, parity is often one of the parameters that must be agreed upon by sending parties and receiving parties before transmission can take place.

If a parity error occurs on the trailing byte of a stream, an extra byte will be added to the input buffer with a value of 126.

The following code example demonstrates the use of the SerialPort class to allow two users to chat from two separate computers connected by a null modem cable. In this example, the users are prompted for the port settings and a username before chatting. This code example is part of a larger code example provided for the SerialPort class.

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

    _continue = True

    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
            _serialPort.WriteLine([String].Format("<{0}>: {1}", name, message))
        End If
    End While

End Sub

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

.NET Framework
Available since 2.0
Return to top