#include "uart2.h"
uartInit(); // initialize UARTs (serial ports) uartSetBaudRate(0, 9600); // set UART0 speed to 9600 baud uartSetBaudRate(1, 115200); // set UART1 speed to 115200 baud rprintfInit(uart0SendByte); // configure rprintf to use UART0 for output rprintf("Hello UART0\r\n"); // send "hello world" message via UART0 rprintfInit(uart1SendByte); // configure rprintf to use UART1 for output rprintf("Hello UART1\r\n"); // send "hello world" message via UART1
global.h
for the UART library to calculate correct baud rates. Furthermore, certain CPU frequencies will not produce exact baud rates due to integer frequency division round-off. See your AVR processor's datasheet for full details.
Defines | |
#define | UART0_DEFAULT_BAUD_RATE 9600 |
default baud rate for UART0 | |
#define | UART1_DEFAULT_BAUD_RATE 9600 |
default baud rate for UART1 | |
#define | UART0_TX_BUFFER_SIZE 0x0010 |
number of bytes for uart0 transmit buffer | |
#define | UART0_RX_BUFFER_SIZE 0x0080 |
number of bytes for uart0 receive buffer | |
#define | UART1_TX_BUFFER_SIZE 0x0010 |
number of bytes for uart1 transmit buffer | |
#define | UART1_RX_BUFFER_SIZE 0x0080 |
number of bytes for uart1 receive buffer | |
#define | UART_INTERRUPT_HANDLER SIGNAL |
#define | RXCIE RXCIE0 |
#define | TXCIE TXCIE0 |
#define | UDRIE UDRIE0 |
#define | RXEN RXEN0 |
#define | TXEN TXEN0 |
#define | CHR9 CHR90 |
#define | RXB8 RXB80 |
#define | TXB8 TXB80 |
#define | UBRR0L UBRR0 |
#define | UBRR1L UBRR1 |
Functions | |
void | uartInit (void) |
void | uart0Init (void) |
Initializes UART0 only. | |
void | uart1Init (void) |
Initializes UART1 only. | |
void | uart0InitBuffers (void) |
void | uart1InitBuffers (void) |
void | uartSetRxHandler (u08 nUart, void(*rx_func)(unsigned char c)) |
void | uartSetBaudRate (u08 nUart, u32 baudrate) |
cBuffer * | uartGetRxBuffer (u08 nUart) |
cBuffer * | uartGetTxBuffer (u08 nUart) |
void | uartSendByte (u08 nUart, u08 data) |
void | uart0SendByte (u08 data) |
void | uart1SendByte (u08 data) |
int | uart0GetByte (void) |
int | uart1GetByte (void) |
u08 | uartReceiveByte (u08 nUart, u08 *data) |
u08 | uartReceiveBufferIsEmpty (u08 nUart) |
void | uartFlushReceiveBuffer (u08 nUart) |
void | uartAddToTxBuffer (u08 nUart, u08 data) |
void | uart0AddToTxBuffer (u08 data) |
void | uart1AddToTxBuffer (u08 data) |
void | uartSendTxBuffer (u08 nUart) |
u08 | uartSendBuffer (u08 nUart, char *buffer, u16 nBytes) |
void | uartTransmitService (u08 nUart) |
interrupt service handlers | |
void | uartReceiveService (u08 nUart) |
|
Default uart baud rate. This is the default speed after a uartInit() command, and can be changed by using uartSetBaudRate(). |
|
Type of interrupt handler to use for uart interrupts. Value may be SIGNAL or INTERRUPT.
|
|
AddToTxBuffer commands with the UART number hardcoded Use this with printfInit() - example: |
|
Gets a single byte from the uart receive buffer. Returns the byte, or -1 if no byte is available (getchar-style). |
|
Initializes transmit and receive buffers. Automatically called from uartInit() |
|
SendByte commands with the UART number hardcoded Use these with printfInit() - example: |
|
Add byte to end of uart Tx buffer. |
|
Flushes (deletes) all data from receive buffer. |
|
Returns pointer to the receive buffer structure. |
|
Returns pointer to the transmit buffer structure. |
|
Initializes uart.
|
|
Returns TRUE/FALSE if receive buffer is empty/not-empty. |
|
Gets a single byte from the uart receive buffer. Function returns TRUE if data was available, FALSE if not. Actual data is returned in variable pointed to by "data". Example usage: char myReceivedByte; uartReceiveByte(0, &myReceivedByte ); |
|
sends a buffer of length nBytes via the uart using interrupt control. |
|
Sends a single byte over the uart. |
|
Begins transmission of the transmit buffer under interrupt control. |
|
Sets the uart baud rate. Argument should be in bits-per-second, like |
|
Redirects received data to a user function. |