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. |