Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages   Examples  

ATmega On-Chip UART Device Driver

Serial communication device driver. More...

Modules

Device uart0

Data Structures

struct  _UARTDCB
 UART device control block structure. More...

struct  _UARTDCB
 UART device control block structure. More...


Typedefs

typedef struct _UARTDCB UARTDCB

Functions

int UartAvrInput (NUTDEVICE *dev)
 Wait for input. More...

int UartAvrOutput (NUTDEVICE *dev)
 Initiate output. More...

int UartAvrFlush (NUTDEVICE *dev)
 Wait for output buffer empty. More...

int UartAvrIOCtl (NUTDEVICE *dev, int req, void *conf)
 Perform on-chip UART control functions. More...

int UartAvrInit (NUTDEVICE *dev)
 Initialize on chip uart device. More...


Detailed Description

Serial communication device driver.

This stream device driver writes data to and reads data from the UART on the ATmega 103 chip. Both, input and output data is buffered and send resp. transmitted by interrupt routines.


Typedef Documentation

typedef struct _UARTDCB UARTDCB
 

UART device control block type.


Function Documentation

int UartAvrFlush ( NUTDEVICE * dev )
 

Wait for output buffer empty.

If the output buffer contains any data, the calling thread is suspended until all data has been transmitted.

Note:
Interrupts are automatically enabled, when this function returns.
Parameters:
dev   Indicates the UART device.

Returns:
0 on success, -1 otherwise.

int UartAvrIOCtl ( NUTDEVICE * dev,
int req,
void * conf )
 

Perform on-chip UART control functions.

Parameters:
dev   Identifies the device that receives the device-control function. This pointer must have been retrieved previously by using the NutDeviceOpen() function.
req   Requested control function. May be set to one of the following constants:
  • UART_SETSPEED, if conf points to an u_long value containing the baudrate.
  • UART_GETSPEED, if conf points to an u_long value receiving the current baudrate.
  • UART_SETDATABITS
  • UART_GETDATABITS
  • UART_SETPARITY
  • UART_GETPARITY
  • UART_SETSTOPBITS
  • UART_GETSTOPBITS
  • UART_SETSTATUS
  • UART_GETSTATUS
Parameters:
conf   Points to a buffer that contains any data required for the given control function or receives data from that function.
Returns:
0 on success, -1 otherwise.

int UartAvrInit ( NUTDEVICE * dev )
 

Initialize on chip uart device.

Prepares the device for subsequent reading or writing. Enables UART transmitter and receiver interrupts.

Applications should not use this function, but call NutDeviceOpen().

Parameters:
dev   Identifies the device to initialize.

Returns:
0 on success, -1 otherwise.

int UartAvrInput ( NUTDEVICE * dev )
 

Wait for input.

This function checks the input buffer for any data. If the buffer is empty, the calling thread will be blocked until at least one new character is received.

Note:
Interrupts are automatically enabled, when this function returns.

int UartAvrOutput ( NUTDEVICE * dev )
 

Initiate output.

This function checks the output buffer for any data. If the buffer contains at least one character, the transmitter is started, if not already running. The function returns immediately, without waiting for the character being completely transmitted. Any remaining characters in the output buffer are transmitted in the background.

Parameters:
dev   Indicates the UART device.

Returns:
0 on success, -1 otherwise.


© 2000-2001 by egnite Software GmbH - visit http://www.ethernut.de/