a

Embed: (wiki syntax)

« Back to documentation index

UARTSerial_mio Class Reference

UARTSerial_mio Class Reference
[Drivers]

Class providing buffered UART communication functionality using separate circular buffer for send and receive channels. More...

#include <UARTSerial_mio.h>

Public Member Functions

 UARTSerial_mio (PinName tx, PinName rx, int baud=MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE)
 Create a UARTSerial_mio port, connected to the specified transmit and receive pins, with a particular baud rate.
virtual short poll (short events) const
 Equivalent to POSIX poll().
virtual ssize_t write (const void *buffer, size_t length)
 Write the contents of a buffer to a file.
virtual ssize_t read (void *buffer, size_t length)
 Read the contents of a file into a buffer.
virtual int close ()
 Close a file.
virtual int isatty ()
 Check if the file in an interactive terminal device.
virtual off_t seek (off_t offset, int whence)
 Move the file position to a given offset from from a given location.
virtual int sync ()
 Flush any buffers associated with the file.
virtual int set_blocking (bool blocking)
 Set blocking or non-blocking mode The default is blocking.
virtual bool is_blocking () const
 Check current blocking or non-blocking mode for file operations.
virtual int enable_input (bool enabled)
 Enable or disable input.
virtual int enable_output (bool enabled)
 Enable or disable output.
virtual void sigio (Callback< void()> func)
 Register a callback on state change of the file.
void set_data_carrier_detect (PinName dcd_pin, bool active_high=false)
 Setup interrupt handler for DCD line.
void set_baud (int baud)
 Set the baud rate.
void set_format (int bits=8, Parity parity=UARTSerial_mio::None, int stop_bits=1)
 Set the transmission format used by the serial port.
void set_flow_control (Flow type, PinName flow1=NC, PinName flow2=NC)
 Set the flow control type on the serial port.

Detailed Description

Class providing buffered UART communication functionality using separate circular buffer for send and receive channels.

Definition at line 36 of file UARTSerial_mio.h.


Constructor & Destructor Documentation

UARTSerial_mio ( PinName  tx,
PinName  rx,
int  baud = MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE 
)

Create a UARTSerial_mio port, connected to the specified transmit and receive pins, with a particular baud rate.

Parameters:
txTransmit pin
rxReceive pin
baudThe baud rate of the serial port (optional, defaults to MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE)

Definition at line 31 of file UARTSerial_mio.cpp.


Member Function Documentation

int close (  ) [virtual]

Close a file.

Returns:
0 on success, negative error code on failure

Definition at line 75 of file UARTSerial_mio.cpp.

int enable_input ( bool  enabled ) [virtual]

Enable or disable input.

Control enabling of device for input. This is primarily intended for temporary power-saving; the overall ability of the device to operate for input and/or output may be fixed at creation time, but this call can allow input to be temporarily disabled to permit power saving without losing device state.

Parameters:
enabledtrue to enable input, false to disable.
Returns:
0 on success
Negative error code on failure

Definition at line 419 of file UARTSerial_mio.cpp.

int enable_output ( bool  enabled ) [virtual]

Enable or disable output.

Control enabling of device for output. This is primarily intended for temporary power-saving; the overall ability of the device to operate for input and/or output may be fixed at creation time, but this call can allow output to be temporarily disabled to permit power saving without losing device state.

Parameters:
enabledtrue to enable output, false to disable.
Returns:
0 on success
Negative error code on failure

Definition at line 438 of file UARTSerial_mio.cpp.

virtual bool is_blocking (  ) const [virtual]

Check current blocking or non-blocking mode for file operations.

Returns:
true for blocking mode, false for non-blocking mode.

Definition at line 137 of file UARTSerial_mio.h.

int isatty (  ) [virtual]

Check if the file in an interactive terminal device.

Returns:
True if the file is a terminal
False if the file is not a terminal
Negative error code on failure

Definition at line 77 of file UARTSerial_mio.cpp.

short poll ( short  events ) const [virtual]

Equivalent to POSIX poll().

Derived from FileHandle. Provides a mechanism to multiplex input/output over a set of file handles.

Definition at line 306 of file UARTSerial_mio.cpp.

ssize_t read ( void *  buffer,
size_t  length 
) [virtual]

Read the contents of a file into a buffer.

Follows POSIX semantics:

* if no data is available, and non-blocking set return -EAGAIN * if no data is available, and blocking set, wait until data is available * If any data is available, call returns immediately

Parameters:
bufferThe buffer to read in to
lengthThe number of bytes to read
Returns:
The number of bytes read, 0 at end of file, negative error on failure

Definition at line 200 of file UARTSerial_mio.cpp.

off_t seek ( off_t  offset,
int  whence 
) [virtual]

Move the file position to a given offset from from a given location.

Not valid for a device type FileHandle like UARTSerial_mio. In case of UARTSerial_mio, returns ESPIPE

Parameters:
offsetThe offset from whence to move to
whenceThe start of where to seek SEEK_SET to start from beginning of file, SEEK_CUR to start from current position in file, SEEK_END to start from end of file
Returns:
The new offset of the file, negative error code on failure

Definition at line 80 of file UARTSerial_mio.cpp.

void set_baud ( int  baud )

Set the baud rate.

Parameters:
baudThe baud rate

Definition at line 54 of file UARTSerial_mio.cpp.

virtual int set_blocking ( bool  blocking ) [virtual]

Set blocking or non-blocking mode The default is blocking.

Parameters:
blockingtrue for blocking mode, false for non-blocking mode.

Definition at line 127 of file UARTSerial_mio.h.

void set_data_carrier_detect ( PinName  dcd_pin,
bool  active_high = false 
)

Setup interrupt handler for DCD line.

If DCD line is connected, an IRQ handler will be setup. Does nothing if DCD is NC, i.e., not connected.

Parameters:
dcd_pinPin-name for DCD
active_higha boolean set to true if DCD polarity is active low
void set_flow_control ( Flow  type,
PinName  flow1 = NC,
PinName  flow2 = NC 
)

Set the flow control type on the serial port.

Parameters:
typethe flow control type (Disabled, RTS, CTS, RTSCTS)
flow1the first flow control pin (RTS for RTS or RTSCTS, CTS for CTS)
flow2the second flow control pin (CTS for RTSCTS)

Definition at line 67 of file UARTSerial_mio.cpp.

void set_format ( int  bits = 8,
Parity  parity = UARTSerial_mio::None,
int  stop_bits = 1 
)

Set the transmission format used by the serial port.

Parameters:
bitsThe number of bits in a word (5-8; default = 8)
parityThe parity used (None, Odd, Even, Forced1, Forced0; default = None)
stop_bitsThe number of stop bits (1 or 2; default = 1)

Definition at line 59 of file UARTSerial_mio.cpp.

void sigio ( Callback< void()>  func ) [virtual]

Register a callback on state change of the file.

The specified callback will be called on state changes such as when the file can be written to or read from.

The callback may be called in an interrupt context and should not perform expensive operations.

Note! This is not intended as an attach-like asynchronous api, but rather as a building block for constructing such functionality.

The exact timing of when the registered function is called is not guaranteed and susceptible to change. It should be used as a cue to make read/write/poll calls to find the current state.

Parameters:
funcFunction to call on state change

Definition at line 120 of file UARTSerial_mio.cpp.

int sync (  ) [virtual]

Flush any buffers associated with the file.

Returns:
0 on success, negative error code on failure

Definition at line 87 of file UARTSerial_mio.cpp.

ssize_t write ( const void *  buffer,
size_t  length 
) [virtual]

Write the contents of a buffer to a file.

Follows POSIX semantics:

* if blocking, block until all data is written * if no data can be written, and non-blocking set, return -EAGAIN * if some data can be written, and non-blocking set, write partial

Parameters:
bufferThe buffer to write from
lengthThe number of bytes to write
Returns:
The number of bytes written, negative error on failure

Definition at line 149 of file UARTSerial_mio.cpp.