Collaboration diagram for USART Devices:
|
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
AVR USART0 Device | |
| NUTDEVICE | devUsartAvr0 |
| USART0 device information structure. | |
AVR USART1 Device | |
| NUTDEVICE | devUsartAvr1 |
| USART1 device information structure. | |
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 |
|
|
Initial value: {
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
}
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. |
|
|
Initial value: {
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
}
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. |