|
@@ -303,6 +303,25 @@
|
|
|
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
|
|
sei(); \
|
|
|
} while (0)
|
|
|
+# elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))
|
|
|
+# define SERIAL_UART_BAUD 115200
|
|
|
+# define SERIAL_UART_DATA UDR1
|
|
|
+ /* UBRR should result in ~16 and set UCSR1A = _BV(U2X1) as per rn42 documentation. HC05 needs baudrate configured accordingly */
|
|
|
+# define SERIAL_UART_UBRR (F_CPU / (8UL * SERIAL_UART_BAUD) - 1)
|
|
|
+# define SERIAL_UART_RXD_VECT USART1_RX_vect
|
|
|
+# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
|
|
+# define SERIAL_UART_INIT() do { \
|
|
|
+ UCSR1A = _BV(U2X1); \
|
|
|
+ /* baud rate */ \
|
|
|
+ UBRR1L = SERIAL_UART_UBRR; \
|
|
|
+ /* baud rate */ \
|
|
|
+ UBRR1H = SERIAL_UART_UBRR >> 8; \
|
|
|
+ /* enable TX */ \
|
|
|
+ UCSR1B = _BV(TXEN1); \
|
|
|
+ /* 8-bit data */ \
|
|
|
+ UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
|
|
+ sei(); \
|
|
|
+ } while(0)
|
|
|
# else
|
|
|
# error "USART configuration is needed."
|
|
|
# endif
|