14#ifndef LAZULI_SYS_ARCH_AVR_USART_H
15#define LAZULI_SYS_ARCH_AVR_USART_H
29#define UCSR0A DIRECT(0xc0)
32#define UCSR0B DIRECT(0xc1)
35#define UCSR0C DIRECT(0xc2)
38#define UBRROL DIRECT(0xc4)
41#define UBRR0H DIRECT(0xc5)
44#define UDR0 DIRECT(0xc6)
unsigned char uint8_t
Represents a unsigned integer type with width of exactly 8 bits.
Basic type definitions and useful macros.
#define _EXTERN_C_DECL_BEGIN
Open C++ header file declarations.
#define _EXTERN_C_DECL_END
Close C++ header file declarations.
#define POSITION(X)
Define a constant bit at position X, starting from index 0.
Describes the memory mapping for the USART.
volatile uint8_t ucsr0b
USART Control and Status Register B.
volatile uint8_t ucsr0c
USART Control and Status Register C.
volatile uint8_t ucsr0a
USART Control and Status Register A.
volatile uint8_t ubrr0l
USART Baud Rate Register low
volatile uint8_t _reserved
Unsed
volatile uint8_t udr0
USART I/O Data Register
volatile uint8_t ubrr0h
USART Baud Rate Register high
@ UCSR0A_RXC0
USART Receive Complete
@ UCSR0A_UPE0
USART Parity Error
@ UCSR0A_MPCM0
Multi-processor Communication Mode.
@ UCSR0A_TXC0
USART Transmit Complete
@ UCSR0A_UDRE0
USART Data Register Empty
@ UCSR0A_DOR0
Data OverRun
@ UCSR0A_U2X0
Double USART Transmission Speed
@ UCSR0B_TXCIE0
TX Complete Interrupt Enable
@ UCSR0B_UCSZ02
Character Size 2
@ UCSR0B_RXEN0
Receiver Enable
@ UCSR0B_RXCIE0
RX Complete Interrupt Enable
@ UCSR0B_UDRIE0
Data Register Empty Interrupt Enable.
@ UCSR0B_RXB80
Receive Data Bit 8
@ UCSR0B_TXEN0
Transmitter Enable
@ UCSR0B_TXB80
Transmit Data Bit 8
@ UCSR0C_UCPOL0
Clock Polarity
@ UCSR0C_UMSEL01
USART Mode Select 1.
@ UCSR0C_UPM01
Parity Mode 1
@ UCSR0C_UCSZ00
Character Size 0
@ UCSR0C_UMSEL00
USART Mode Select 0.
@ UCSR0C_UPM00
Parity Mode 0
@ UCSR0C_USBS0
Stop Bit Select
@ UCSR0C_UCSZ01
Character size 1