Chapter 16. serial driver details, Raw serial driver, Runtime configuration – Comtrol eCos User Manual

Page 369: Serial driver details

Advertising
background image

Chapter 16. Serial driver details

Two different classes of serial drivers are provided as a standard part of the eCos system. These are described as
“raw serial” (serial) and “tty-like” (tty).

Raw Serial Driver

Use the include file

<

cyg/io/serialio.h

>

for this driver.

The raw serial driver is capable of sending and receiving blocks of raw data to a serial device. Controls are provided
to configure the actual hardware, but there is no manipulation of the data by this driver.

There may be many instances of this driver in a given system, one for each serial channel. Each channel corresponds
to a physical device and there will typically be a device module created for this purpose. The device modules
themselves are configurable, allowing specification of the actual hardware details, as well as such details as whether
the channel should be buffered by the serial driver, etc.

Runtime Configuration

Runtime configuration is achieved by exchanging data structures with the driver via the

cyg_io_set_config()

and

cyg_io_get_config()

functions.

typedef struct {

cyg_serial_baud_rate_t baud;

cyg_serial_stop_bits_t stop;

cyg_serial_parity_t parity;

cyg_serial_word_length_t word_length;

cyg_uint32 flags;

} cyg_serial_info_t;

The field

word_length

contains the number of data bits per word (character). This must be one of the values:

CYGNUM_SERIAL_WORD_LENGTH_5

CYGNUM_SERIAL_WORD_LENGTH_6

CYGNUM_SERIAL_WORD_LENGTH_7

CYGNUM_SERIAL_WORD_LENGTH_8

The field

baud

contains a baud rate selection. This must be one of the values:

CYGNUM_SERIAL_BAUD_50

CYGNUM_SERIAL_BAUD_75

CYGNUM_SERIAL_BAUD_110

CYGNUM_SERIAL_BAUD_134_5

CYGNUM_SERIAL_BAUD_150

CYGNUM_SERIAL_BAUD_200

CYGNUM_SERIAL_BAUD_300

CYGNUM_SERIAL_BAUD_600

265

Advertising