AVR USART hardware dependant implementation. More...
Defines | |
| #define | UDRn UDR0 |
| #define | UCSRnA UCSR0A |
| #define | UCSRnB UCSR0B |
| #define | UCSRnC UCSR0C |
| #define | UBRRnL UBRR0L |
| #define | UBRRnH UBRR0H |
| #define | sig_UART_RECV sig_UART0_RECV |
| #define | sig_UART_DATA sig_UART0_DATA |
| #define | sig_UART_TRANS sig_UART0_TRANS |
| #define | SIG_UART_RECV SIG_UART0_RECV |
| #define | SIG_UART_DATA SIG_UART0_DATA |
| #define | SIG_UART_TRANS SIG_UART0_TRANS |
| #define | dcb_usart dcb_usart0 |
| #define | ASCII_XON 0x11 |
| #define | ASCII_XOFF 0x13 |
| #define | XON_PENDING 0x10 |
| #define | XOFF_PENDING 0x20 |
| #define | XOFF_SENT 0x40 |
| #define | XOFF_RCVD 0x80 |
AVR USART0 Device | |
| NUTDEVICE | devUsartAvr0 |
| USART0 device information structure. | |
UART0 CTS Handshake Sense | |
| #define | UART_CTS_PORT UART0_CTS_PORT |
| #define | UART_CTS_PIN UART0_CTS_PIN |
| #define | UART_CTS_DDR UART0_CTS_DDR |
AVR USART1 Device | |
| NUTDEVICE | devUsartAvr1 |
| USART1 device information structure. | |
UART1 CTS Handshake Sense | |
| #define | UART_CTS_PORT UART1_CTS_PORT |
| #define | UART_CTS_PIN UART1_CTS_PIN |
| #define | UART_CTS_DDR UART1_CTS_DDR |
AVR USART hardware dependant implementation.
A pointer to devUsartAvr0 or devUsartAvr1 must be passed to NutRegisterDevice() to bind the corresponding device driver to the Nut/OS kernel.
NutRegisterDevice(&devUsartAvr0, 0, 0); fp = fopen("uart0", "r+"); fprintf(fp, "Hello world!\n");
The AVR USART devices make use of the hardware independant USART Device Driver
| #define UART_CTS_PORT UART0_CTS_PORT |
| #define UART_CTS_PIN UART0_CTS_PIN |
| #define UART_CTS_DDR UART0_CTS_DDR |
| #define UDRn UDR0 |
| #define UCSRnA UCSR0A |
| #define UCSRnB UCSR0B |
| #define UCSRnC UCSR0C |
| #define UBRRnL UBRR0L |
| #define UBRRnH UBRR0H |
| #define sig_UART_RECV sig_UART0_RECV |
| #define sig_UART_DATA sig_UART0_DATA |
| #define sig_UART_TRANS sig_UART0_TRANS |
| #define SIG_UART_RECV SIG_UART0_RECV |
| #define SIG_UART_DATA SIG_UART0_DATA |
| #define SIG_UART_TRANS SIG_UART0_TRANS |
| #define dcb_usart dcb_usart0 |
| #define UART_CTS_PORT UART1_CTS_PORT |
| #define UART_CTS_PIN UART1_CTS_PIN |
| #define UART_CTS_DDR UART1_CTS_DDR |
| #define ASCII_XON 0x11 |
| #define ASCII_XOFF 0x13 |
| #define XON_PENDING 0x10 |
| #define XOFF_PENDING 0x20 |
| #define XOFF_SENT 0x40 |
| #define XOFF_RCVD 0x80 |
{
0,
{'u', 'a', 'r', 't', '0', 0, 0, 0, 0},
IFTYP_CHAR,
0,
0,
0,
&dcb_usart0,
UsartInit,
UsartIOCtl,
UsartRead,
UsartWrite,
UsartWrite_P,
UsartOpen,
UsartClose,
UsartSize
}
USART0 device information structure.
An application must pass a pointer to this structure to NutRegisterDevice() before using the serial communication driver of the AVR's on-chip USART0.
The device is named uart0.
{
0,
{'u', 'a', 'r', 't', '1', 0, 0, 0, 0},
IFTYP_CHAR,
1,
0,
0,
&dcb_usart1,
UsartInit,
UsartIOCtl,
UsartRead,
UsartWrite,
UsartWrite_P,
UsartOpen,
UsartClose,
UsartSize
}
USART1 device information structure.
An application must pass a pointer to this structure to NutRegisterDevice() before using the serial communication driver of the AVR's on-chip USART1.
The device is named uart1.