|
|
 |
|
|
 |
Collaboration diagram for AVR UART Device Driver:
Detailed Description
Device driver for ATmega On-Chip UART.
This device driver writes data to and reads data from the UART on the ATmega128/103 chip. Both, input and output data is buffered and send resp. transmitted by interrupt routines.
Not all ioctl() function are fully implemented. New applications should use the USART device driver.
|
Modules |
| | ATmega On-Chip UART Devices |
| | UART Device Structures.
|
Data Structures |
| struct | _UARTDCB |
| | UART device control block structure. More...
|
| struct | _UARTDCB |
| | UART device control block structure. More...
|
Defines |
| #define | UART_MF_RTSSENSE |
| #define | UART_MF_CTSCONTROL |
| #define | UART_MF_DTRSENSE |
| #define | UART_MF_DSRCONTROL |
| #define | UART_MF_DCDCONTROL |
| #define | UART_MF_RTSCONTROL |
| #define | UART_MF_CTSSENSE |
| #define | UART_MF_DTRCONTROL |
| #define | UART_MF_DSRSENSE |
| #define | UART_MF_DCDSENSE |
| #define | UART_MF_SENSEMASK |
| #define | UART_MF_CONTROLMASK |
| #define | UART_MF_XONXOFF |
| #define | UART_MF_LOCALECHO |
| #define | UART_MF_COOKEDMODE |
| #define | UART_MF_NOBUFFER |
| #define | UART_MF_LINEBUFFER |
| #define | UART_MF_BUFFERMASK |
| #define | UART_SF_RTSOFF |
| #define | UART_SF_CTSOFF |
| #define | UART_SF_DTROFF |
| #define | UART_SF_DSROFF |
| #define | UART_SF_DCDOFF |
| #define | HDLC_SF_FLUSH |
| #define | HDLC_SF_ESCAPED |
| #define | UART_SF_TXDISABLED |
| #define | UART_SF_RXDISABLED |
| #define | UART_HS_DCERTSCTS |
| #define | UART_HS_DCEFULL |
| #define | UART_HS_DTERTSCTS |
| #define | UART_HS_DTEFULL |
| #define | UART_HS_XONXOFF |
Typedefs |
| typedef _UARTDCB | UARTDCB |
Functions |
| int | UartAvrInput (NUTDEVICE *dev) |
| | Wait for input.
|
| int | UartAvrOutput (NUTDEVICE *dev) |
| | Initiate output.
|
| int | UartAvrFlush (NUTDEVICE *dev) |
| | Wait for output buffer empty.
|
| int | UartAvrIOCtl (NUTDEVICE *dev, int req, void *conf) |
| | Perform on-chip UART control functions.
|
| int | UartAvrInit (NUTDEVICE *dev) |
| | Initialize on chip uart device.
|
|
int | UartAvrRead (NUTFILE *fp, void *buffer, int size) |
| | Read from device.
|
|
int | UartAvrPut (NUTDEVICE *dev, CONST void *buffer, int len, int pflg) |
| | Write to device.
|
|
int | UartAvrWrite (NUTFILE *fp, CONST void *buffer, int len) |
|
int | UartAvrWrite_P (NUTFILE *fp, PGM_P buffer, int len) |
|
NUTFILE * | UartAvrOpen (NUTDEVICE *dev, CONST char *name, int mode, int acc) |
| | Open a device or file.
|
|
int | UartAvrClose (NUTFILE *fp) |
| | Close a device or file.
|
|
long | UartAvrSize (NUTFILE *fp) |
| | Request file size.
|
Define Documentation
|
|
Waiting for next HDLC flag. |
| #define UART_HS_DCERTSCTS |
|
| #define UART_HS_DTERTSCTS |
|
| #define UART_MF_BUFFERMASK |
|
|
|
Masks buffering mode flags. |
| #define UART_MF_CONTROLMASK |
|
| #define UART_MF_COOKEDMODE |
|
|
|
Should be used in stream, not device. |
| #define UART_MF_CTSCONTROL |
|
| #define UART_MF_DCDCONTROL |
|
| #define UART_MF_DSRCONTROL |
|
| #define UART_MF_DTRCONTROL |
|
| #define UART_MF_LINEBUFFER |
|
| #define UART_MF_LOCALECHO |
|
|
|
Should be used in stream, not device. |
| #define UART_MF_RTSCONTROL |
|
|
|
DCE input, low on port bit is +12V, which means ON. |
| #define UART_MF_SENSEMASK |
|
| #define UART_SF_RXDISABLED |
|
| #define UART_SF_TXDISABLED |
|
Typedef Documentation
|
|
UART device control block type. |
Function Documentation
|
|
Wait for output buffer empty.
If the output buffer contains any data, the calling thread is suspended until all data has been transmitted.
- Parameters:
-
| dev | Indicates the UART device. |
- Returns:
- 0 on success, -1 otherwise.
|
|
|
Initialize on chip uart device.
Prepares the device for subsequent reading or writing. Enables UART transmitter and receiver interrupts.
- Parameters:
-
| dev | Identifies the device to initialize. |
- Returns:
- 0 on success, -1 otherwise.
|
|
|
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 or a timeout occurs.
- Parameters:
-
| dev | Indicates the UART device. |
- Returns:
- 0 on success, -1 on timeout.
|
| 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. |
| req | Requested control function. May be set to one of the following constants:
- UART_SETSPEED, conf points to an u_long value containing the baudrate.
- UART_GETSPEED, conf points to an u_long value receiving the current baudrate.
- UART_SETDATABITS, conf points to an u_long value containing the number of data bits, 5, 6, 7 or 8.
- UART_GETDATABITS, conf points to an u_long value receiving the number of data bits, 5, 6, 7 or 8.
- UART_SETPARITY, conf points to an u_long value containing the parity, 0 (no), 1 (odd) or 2 (even).
- UART_GETPARITY, conf points to an u_long value receiving the parity, 0 (no), 1 (odd) or 2 (even).
- UART_SETSTOPBITS, conf points to an u_long value containing the number of stop bits 1 or 2.
- UART_GETSTOPBITS, conf points to an u_long value receiving the number of stop bits 1 or 2.
- UART_SETSTATUS
- UART_GETSTATUS
- UART_SETREADTIMEOUT, conf points to an u_long value containing the read timeout.
- UART_GETREADTIMEOUT, conf points to an u_long value receiving the read timeout.
- UART_SETWRITETIMEOUT, conf points to an u_long value containing the write timeout.
- UART_GETWRITETIMEOUT, conf points to an u_long value receiving the write timeout.
- UART_SETLOCALECHO, conf points to an u_long value containing 0 (off) or 1 (on).
- UART_GETLOCALECHO, conf points to an u_long value receiving 0 (off) or 1 (on).
- UART_SETFLOWCONTROL, conf points to an u_long value containing combined UART_FCTL_ values.
- UART_GETFLOWCONTROL, conf points to an u_long value containing receiving UART_FCTL_ values.
- UART_SETCOOKEDMODE, conf points to an u_long value containing 0 (off) or 1 (on).
- UART_GETCOOKEDMODE, conf points to an u_long value receiving 0 (off) or 1 (on).
|
| 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.
- Warning:
- Timeout values are given in milliseconds and are limited to the granularity of the system timer. To disable timeout, set the parameter to NUT_WAIT_INFINITE.
|
|
|
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.
|
|
 |
|