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.