ProSoft Technology MVI69-ADM User Manual

Page 255

Advertising
background image

MVI-ADM ♦ 'C' Programmable

Serial Port Library Functions

'C' Programmable Application Development Module

Developer's Guide

ProSoft Technology, Inc.

Page 255 of 342

February 20, 2013

MVIsp_PutData

Syntax

int MVIsp_PutData(int comport, BYTE *data, int *len, DWORD timeout);

Parameters

comport

port to which data is to be sent

data

pointer to array of bytes to be sent

len

pointer to number of bytes to send / bytes sent

timeout

amount of time to wait to send byte

Description
This function transmits an array of bytes across a serial port. comport must be
previously opened with MVIsp_Open.

data is a pointer to an array of bytes to be sent.

MVIsp_PutData sends each byte in the array data to the serial port. len should
point to the number of bytes in the array data to be sent.

All data sent to a port is queued before transmission across the serial port.
Therefore, some delay may occur between the time this function returns and the
actual time that the bytes are transmitted across the serial line. This function
attempts to insert the bytes into the transmission queue, and return values
correspond accordingly.

timeout specifies the amount of time in milliseconds to wait. If timeout is
TIMEOUT_ASAP, the function will return immediately if any of the bytes cannot
be queued immediately. If timeout is TIMEOUT_FOREVER, the function will not
return until all the bytes are queued successfully.

If all the bytes can be queued immediately, MVIsp_PutData returns
MVI_SUCCESS. If the characters cannot be queued immediately,
MVIsp_PutData tries to queue the bytes until the timeout elapses. If the timeout
elapses before the bytes can be queued, MVI_ERR_TIMEOUT is returned.

When MVIsp_PutData returns, it writes to the int pointed to by len the number of
bytes queued successfully. len is written for successfully sent bytes as well as
timeouts.

Note: If software handshaking is enabled on the external serial device, sending data that contains
XOFF characters may stop transmission from the external serial device.

If handshaking is enabled and the receiving serial device has paused
transmission, timeouts may occur after the queue becomes full.

Return Value

MVI_SUCCESS

the bytes were sent successfully

MVI_ERR_NOACCESS

comport has not been opened

MVI_ERR_BADPARAM

invalid parameter

MVI_ERR_TIMEOUT

timeout elapsed before bytes sent

Advertising