Handshake Handshake Handshake Handshake Enum

Definition

Specifies the control protocol used in establishing a serial port communication for a SerialPort object.

public enum class Handshake
public enum Handshake
type Handshake = 
Public Enum Handshake
Inheritance

Fields

None None None None 0

No control is used for the handshake.

RequestToSend RequestToSend RequestToSend RequestToSend 2

Request-to-Send (RTS) hardware flow control is used. RTS signals that data is available for transmission. If the input buffer becomes full, the RTS line will be set to false. The RTS line will be set to true when more room becomes available in the input buffer.

RequestToSendXOnXOff RequestToSendXOnXOff RequestToSendXOnXOff RequestToSendXOnXOff 3

Both the Request-to-Send (RTS) hardware control and the XON/XOFF software controls are used.

XOnXOff XOnXOff XOnXOff XOnXOff 1

The XON/XOFF software control protocol is used. The XOFF control is sent to stop the transmission of data. The XON control is sent to resume the transmission. These software controls are used instead of Request to Send (RTS) and Clear to Send (CTS) hardware controls.

Examples

The following code example displays the possible values of the Handshake enumeration to the console, then prompts the user to choose one. This code example is part of a larger code example provided for the SerialPort class.

static Handshake SetPortHandshake(Handshake defaultPortHandshake)
{
    String^ handshake;

    Console::WriteLine("Available Handshake options:");
    for each (String^ s in Enum::GetNames(Handshake::typeid))
    {
        Console::WriteLine("   {0}", s);
    }

    Console::Write("Enter Handshake value (Default: {0}):", defaultPortHandshake.ToString());
    handshake = Console::ReadLine();

    if (handshake == "")
    {
        handshake = defaultPortHandshake.ToString();
    }

    return (Handshake)Enum::Parse(Handshake::typeid, handshake);
}
public static Handshake SetPortHandshake(Handshake defaultPortHandshake)
{
    string handshake;

    Console.WriteLine("Available Handshake options:");
    foreach (string s in Enum.GetNames(typeof(Handshake)))
    {
        Console.WriteLine("   {0}", s);
    }

    Console.Write("Enter Handshake value (Default: {0}):", defaultPortHandshake.ToString());
    handshake = Console.ReadLine();

    if (handshake == "")
    {
        handshake = defaultPortHandshake.ToString();
    }

    return (Handshake)Enum.Parse(typeof(Handshake), handshake, true);
}
Public Shared Function SetPortHandshake(defaultPortHandshake As Handshake) As Handshake
    Dim handshake As String

    Console.WriteLine("Available Handshake options:")
    For Each s As String In [Enum].GetNames(GetType(Handshake))
        Console.WriteLine("   {0}", s)
    Next

    Console.Write("Enter Handshake value (Default: {0}):", defaultPortHandshake.ToString())
    handshake = Console.ReadLine()

    If handshake = "" Then
        handshake = defaultPortHandshake.ToString()
    End If

    Return CType([Enum].Parse(GetType(Handshake), handshake, True), Handshake)
End Function

Remarks

This enumeration is used with the Handshake property.

Applies to