浏览代码

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>
Deckweiss 5 年之前
父节点
当前提交
eac6ccff98
共有 1 个文件被更改,包括 19 次插入0 次删除
  1. 19 0
      quantum/config_common.h

+ 19 - 0
quantum/config_common.h

@@ -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