#include <uart.h>
This library can be used to transmit and receive data through the built in UART.
An interrupt is generated when the UART has finished transmitting or receiving a byte. The interrupt handling routines use circular buffers for buffering received and transmitted data.
The UART_RX_BUFFER_SIZE and UART_TX_BUFFER_SIZE constants define the size of the circular buffers in bytes. Note that these constants must be a power of 2. You may need to adapt this constants to your target and your application by adding CDEFS += -DUART_RX_BUFFER_SIZE=nn -DUART_RX_BUFFER_SIZE=nn to your Makefile.
Defines | |
#define | UART_BAUD_SELECT(baudRate, xtalCpu) ((xtalCpu)/((baudRate)*16l)-1) |
UART Baudrate Expression. | |
#define | UART_BAUD_SELECT_DOUBLE_SPEED(baudRate, xtalCpu) (((xtalCpu)/((baudRate)*8l)-1)|0x8000) |
UART Baudrate Expression for ATmega double speed mode. | |
#define | UART_RX_BUFFER_SIZE 32 |
#define | UART_TX_BUFFER_SIZE 32 |
#define | UART_FRAME_ERROR 0x0800 |
#define | UART_OVERRUN_ERROR 0x0400 |
#define | UART_BUFFER_OVERFLOW 0x0200 |
#define | UART_NO_DATA 0x0100 |
#define | uart_puts_P(__s) uart_puts_p(PSTR(__s)) |
Macro to automatically put a string constant into program memory. | |
#define | uart1_puts_P(__s) uart1_puts_p(PSTR(__s)) |
Macro to automatically put a string constant into program memory. | |
Functions | |
void | uart_init (unsigned int baudrate) |
Initialize UART and set baudrate. | |
unsigned int | uart_getc (void) |
Get received byte from ringbuffer. | |
void | uart_putc (unsigned char data) |
Put byte to ringbuffer for transmitting via UART. | |
void | uart_puts (const char *s) |
Put string to ringbuffer for transmitting via UART. | |
void | uart_puts_p (const char *s) |
Put string from program memory to ringbuffer for transmitting via UART. | |
void | uart1_init (unsigned int baudrate) |
Initialize USART1 (only available on selected ATmegas). | |
unsigned int | uart1_getc (void) |
Get received byte of USART1 from ringbuffer. (only available on selected ATmega). | |
void | uart1_putc (unsigned char data) |
Put byte to ringbuffer for transmitting via USART1 (only available on selected ATmega). | |
void | uart1_puts (const char *s) |
Put string to ringbuffer for transmitting via USART1 (only available on selected ATmega). | |
void | uart1_puts_p (const char *s) |
Put string from program memory to ringbuffer for transmitting via USART1 (only available on selected ATmega). |
|
UART Baudrate Expression.
|
|
UART Baudrate Expression for ATmega double speed mode.
|
|
Size of the circular receive buffer, must be power of 2 |
|
Size of the circular transmit buffer, must be power of 2 |
|
Initialize UART and set baudrate.
|
|
Get received byte from ringbuffer. Returns in the lower byte the received character and in the higher byte the last receive error. UART_NO_DATA is returned when no data is available.
|
|
Put byte to ringbuffer for transmitting via UART.
|
|
Put string to ringbuffer for transmitting via UART. The string is buffered by the uart library in a circular buffer and one character at a time is transmitted to the UART using interrupts. Blocks if it can not write the whole string into the circular buffer.
|
|
Put string from program memory to ringbuffer for transmitting via UART. The string is buffered by the uart library in a circular buffer and one character at a time is transmitted to the UART using interrupts. Blocks if it can not write the whole string into the circular buffer.
|
|
Initialize USART1 (only available on selected ATmegas).
|
|
Get received byte of USART1 from ringbuffer. (only available on selected ATmega).
|
|
Put byte to ringbuffer for transmitting via USART1 (only available on selected ATmega).
|
|
Put string to ringbuffer for transmitting via USART1 (only available on selected ATmega).
|
|
Put string from program memory to ringbuffer for transmitting via USART1 (only available on selected ATmega).
|