From b8094de129de17280f58d1042e6dcdd48f9eaef3 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 5 Jun 2017 12:30:49 -0400 Subject: avr: Support using serial instead of usb on AT90USB1286 Signed-off-by: Kevin O'Connor --- src/avr/serial.c | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) (limited to 'src/avr/serial.c') diff --git a/src/avr/serial.c b/src/avr/serial.c index 3aff121f..3221b6f0 100644 --- a/src/avr/serial.c +++ b/src/avr/serial.c @@ -25,29 +25,41 @@ static uint8_t transmit_pos, transmit_max; DECL_CONSTANT(SERIAL_BAUD, CONFIG_SERIAL_BAUD); +// Define serial port registers on AT90USB1286 +#if !defined(UCSR0A) && defined(UCSR1A) +#define UCSR0A UCSR1A +#define UCSR0B UCSR1B +#define UCSR0C UCSR1C +#define UBRR0 UBRR1 +#define UDR0 UDR1 +#define UCSZ01 UCSZ11 +#define UCSZ00 UCSZ10 +#define U2X0 U2X1 +#define RXEN0 RXEN1 +#define TXEN0 TXEN1 +#define RXCIE0 RXCIE1 +#define UDRIE0 UDRIE1 +#define USART0_RX_vect USART1_RX_vect +#define USART0_UDRE_vect USART1_UDRE_vect +#endif + +// Define serial port registers on atmega168 / atmega328 +#if defined(USART_RX_vect) +#define USART0_RX_vect USART_RX_vect +#define USART0_UDRE_vect USART_UDRE_vect +#endif + void serial_init(void) { - if (CONFIG_SERIAL_BAUD_U2X) { - UCSR0A = 1<