SerialPort.Write Method

Definition

Writes data to the serial port output buffer.

Overloads

Write(String)

Writes the specified string to the serial port.

Write(Byte[], Int32, Int32)

Writes a specified number of bytes to the serial port using data from a buffer.

Write(Char[], Int32, Int32)

Writes a specified number of characters to the serial port using data from a buffer.

Write(String)

Writes the specified string to the serial port.

public:
 void Write(System::String ^ str);
public void Write (string str);
member this.Write : string -> unit
Public Sub Write (str As String)

Parameters

text
String

The string for output.

Exceptions

The specified port is not open.

text is null.

The operation did not complete before the time-out period ended.

Remarks

Use this method when you want to write a string as output to a serial port.

If there are too many bytes in the output buffer and Handshake is set to XOnXOff then the SerialPort object may raise a TimeoutException while it waits for the device to be ready to accept more data.

By default, SerialPort uses ASCIIEncoding to encode the characters. ASCIIEncoding encodes all characters greater than 127 as (char)63 or '?'. To support additional characters in that range, set Encoding to UTF8Encoding, UTF32Encoding, or UnicodeEncoding.

Write(Byte[], Int32, Int32)

Writes a specified number of bytes to the serial port using data from a buffer.

public:
 void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public void Write (byte[] buffer, int offset, int count);
member this.Write : byte[] * int * int -> unit
Public Sub Write (buffer As Byte(), offset As Integer, count As Integer)

Parameters

buffer
Byte[]

The byte array that contains the data to write to the port.

offset
Int32

The zero-based byte offset in the buffer parameter at which to begin copying bytes to the port.

count
Int32

The number of bytes to write.

Exceptions

The buffer passed is null.

The specified port is not open.

The offset or count parameters are outside a valid region of the buffer being passed. Either offset or count is less than zero.

offset plus count is greater than the length of the buffer.

The operation did not complete before the time-out period ended.

Remarks

Use this method when you want to write to a byte buffer to create output to a serial port.

If there are too many bytes in the output buffer and Handshake is set to XOnXOff then the SerialPort object may raise a TimeoutException while it waits for the device to be ready to accept more data.

By default, SerialPort uses ASCIIEncoding to encode the characters. ASCIIEncoding encodes all characters greater than 127 as (char)63 or '?'. To support additional characters in that range, set Encoding to UTF8Encoding, UTF32Encoding, or UnicodeEncoding.

Write(Char[], Int32, Int32)

Writes a specified number of characters to the serial port using data from a buffer.

public:
 void Write(cli::array <char> ^ buffer, int offset, int count);
public void Write (char[] buffer, int offset, int count);
member this.Write : char[] * int * int -> unit
Public Sub Write (buffer As Char(), offset As Integer, count As Integer)

Parameters

buffer
Char[]

The character array that contains the data to write to the port.

offset
Int32

The zero-based byte offset in the buffer parameter at which to begin copying bytes to the port.

count
Int32

The number of characters to write.

Exceptions

The buffer passed is null.

The specified port is not open.

The offset or count parameters are outside a valid region of the buffer being passed. Either offset or count is less than zero.

offset plus count is greater than the length of the buffer.

The operation did not complete before the time-out period ended.

Remarks

Use this method when you want to write to a character buffer to create output to a serial port.

If there are too many bytes in the output buffer and Handshake is set to XOnXOff then the SerialPort object may raise a TimeoutException while it waits for the device to be ready to accept more data.

By default, SerialPort uses ASCIIEncoding to encode the characters. ASCIIEncoding encodes all characters greater than 127 as (char)63 or '?'. To support additional characters in that range, set Encoding to UTF8Encoding, UTF32Encoding, or UnicodeEncoding.

Applies to