13 #if defined(SERIAL_OUT_ON) | defined(__DOXYGEN__)    23 #if defined(SERIAL_OUT_ON) | defined(__DOXYGEN__)    26     #if defined(__AVR_ATmega48__)   | defined(__AVR_ATmega48A__)   \    27       | defined(__AVR_ATmega48P__)  | defined(__AVR_ATmega48PA__)  \    28       | defined(__AVR_ATmega88__)   | defined(__AVR_ATmega88A__)   \    29       | defined(__AVR_ATmega88P__)  | defined(__AVR_ATmega88AP__)  \    30       | defined(__AVR_ATmega168__)  | defined(__AVR_ATmega168A__)  \    31       | defined(__AVR_ATmega168P__) | defined(__AVR_ATmega168PA__) \    32       | defined(__AVR_ATmega328__)  | defined(__AVR_ATmega328P__)    33         #define UART_CONTROL_A_REG      UCSR0A    34         #define UART_DATA_REG_EMPTY_BIT UDRE0   // bit 5    35         #define UART_DOUBLE_SPEED_BIT   U2X0    // bit 1    36         #define UART_CONTROL_B_REG      UCSR0B    37         #define UART_TX_ENABLE_BIT      TXEN0   // bit 3    38         #define UART_CONTROL_C_REG      UCSR0C    40         #define UART_8N1_BITS           ((1<<UCSZ00) | (1<<UCSZ01)) // bits 5..1    41         #define UART_BAUDRATE_HIGH_REG  UBRR0H    42         #define UART_BAUDRATE_LOW_REG   UBRR0L    43         #define UART_DATA_REG           UDR0    44     #elif defined(__AVR_ATmega8__)    45         #define UART_CONTROL_A_REG      UCSRA    46         #define UART_DATA_REG_EMPTY_BIT UDRE    // bit 5    47         #define UART_DOUBLE_SPEED_BIT   U2X     // bit 1    48         #define UART_CONTROL_B_REG      UCSRB    49         #define UART_TX_ENABLE_BIT      TXEN    // bit 3    50         #define UART_CONTROL_C_REG      UCSRC    52         #define UART_8N1_BITS           ((1<<UCSZ0) | (1<<UCSZ1)) // bits 5..1    53         #define UART_BAUDRATE_HIGH_REG  UBRRH    54         #define UART_BAUDRATE_LOW_REG   UBRRL    55         #define UART_DATA_REG           UDR    69         while(!(UART_CONTROL_A_REG & (1<<UART_DATA_REG_EMPTY_BIT)));
    86 #if defined(SERIAL_OUT_ON)    92         #define BAUD HOST_BAUD_RATE // BAUD is input for setbaud.h    93         #include <util/setbaud.h>       94         UART_BAUDRATE_HIGH_REG = UBRRH_VALUE;
    95         UART_BAUDRATE_LOW_REG  = UBRRL_VALUE;
    98             UART_CONTROL_A_REG |= (1<<UART_DOUBLE_SPEED_BIT);
   100             UART_CONTROL_A_REG &= ~(1<<UART_DOUBLE_SPEED_BIT);
   102         UART_CONTROL_C_REG = UART_8N1_BITS;             
   103         UART_CONTROL_B_REG = (1<<UART_TX_ENABLE_BIT);   
 Minimal uart library with output only for debugging. 
static int uart_putchar(char c, FILE *stream)
Write char to uart. 
void log_init(void)
Call once in start of main to initialize logging to uart with LOG() and LOG_P() macros. 
static FILE uart_stdout
Variable of type file used to redirect stdout to uart_putchr. 
System wide Definitions for FREMO Clock.