3 out of 5 rated this helpful - Rate this topic

SerialPort.Write Method (Byte[], Int32, Int32)

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

Namespace:  System.IO.Ports
Assembly:  System (in System.dll)
public void Write(
	byte[] buffer,
	int offset,
	int count
)

Parameters

buffer
Type: System.Byte[]
The byte array that contains the data to write to the port.
offset
Type: System.Int32
The zero-based byte offset in the buffer parameter at which to begin copying bytes to the port.
count
Type: System.Int32
The number of bytes to write.
Exception Condition
ArgumentNullException

The buffer passed is null.

InvalidOperationException

The specified port is not open.

ArgumentOutOfRangeException

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

ArgumentException

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

TimeoutException

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

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 then 127 as (char)63 or '?'. To support additional characters in that range, set Encoding to UTF8Encoding, UTF32Encoding, or UnicodeEncoding.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Encoding does not apply
The remarks about ASCIIEncoding and the other types of encoding do not apply to this overload. This overload uses byte arrays, bypassing the encoding.

(It looks like these encoding remarks were copy/pasted from the other overloads of Write. Those overloads - using character arrays and strings - do use the encoding).