Herror ::read_serial (
    const HTuple &SerialHandle,
    const HTuple &NumCharacters,
    long *Data
)
Herror ::read_serial (
    const HTuple &SerialHandle,
    const HTuple &NumCharacters,
    HTuple *Data
)

Read from a serial device.

::read_serial tries to read NumCharacters from the serial device given in SerialHandle. The read characters are returned in Data as a tuple of integers. This allows to read NUL characters, which would otherwise be interpreted as the end of a string. If the timeout of the serial device has been set to a value greater than 0 with ::set_serial_param, ::read_serial waits at most as long for the arrival of the first character as indicated by the timeout. Otherwise, the operator returns immediately. In any case, the number of characters available at the time of return are passed back to the caller, i.e., fewer characters than requested can be returned. This can be checked by the length of the tuple Data.


Parameters

SerialHandle (input_control)
serial_id -> HTuple.long
Serial interface handle.

NumCharacters (input_control)
integer -> HTuple.long
Number of characters to read.
Default value: 1
Suggested values: 1, 2, 3, 4, 5, 10, 20, 40, 100

Data (output_control)
integer(-array) -> (HTuple.) long *
Read characters (as tuple of integers).


Result

If the parameters are correct and the read from the device was successful, the operator ::read_serial returns the value H_MSG_TRUE. Otherwise an exception is raised.


Possible Predecessors

::open_serial


See also

::write_serial


Module

System



Copyright © 1996-2002 MVTec Software GmbH