Nut/OS  5.0.5
API Reference
USART Devices

AVR USART hardware dependant implementation. More...

Collaboration diagram for USART Devices:

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

UART0_CTS_IRQ must be defined in arch/avr.h

#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

UART1_CTS_IRQ must be defined in arch/avr.h

#define UART_CTS_PORT   UART1_CTS_PORT
#define UART_CTS_PIN   UART1_CTS_PIN
#define UART_CTS_DDR   UART1_CTS_DDR

Detailed Description

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 Documentation

#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

Variable Documentation

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                   
}

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.

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                   
}

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.