~ruther/qmk_firmware

eac6ccff98f0c9793d459a7f45b5e7fbf8462343 — Deckweiss 5 years ago 2ac4197
Added uart config for using rn42 with at90usb1286 (#6582)

* Added uart config for using rn42 with at90usb1286

* Updated quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>
1 files changed, 19 insertions(+), 0 deletions(-)

M quantum/config_common.h
M quantum/config_common.h => quantum/config_common.h +19 -0
@@ 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