WIP adding uart2
This commit is contained in:
@@ -6,11 +6,18 @@
|
||||
|
||||
#include "stm32f1xx_it.h"
|
||||
|
||||
// USART 1
|
||||
constexpr auto UART_PORT = GPIOA_BASE;
|
||||
#define UARTPORT GPIOA
|
||||
#define UARTTX_PIN GPIO_PIN_9
|
||||
#define UARTRX_PIN GPIO_PIN_10
|
||||
|
||||
// USART 2
|
||||
constexpr auto UART2_PORT = GPIOA_BASE;
|
||||
#define UART2PORT GPIOA
|
||||
#define UART2TX_PIN GPIO_PIN_2
|
||||
#define UART2RX_PIN GPIO_PIN_3
|
||||
|
||||
/*
|
||||
* small uart wrapper
|
||||
* assumes USART1 with default pins/port
|
||||
@@ -19,6 +26,7 @@ template <uint16_t PinTX, uint16_t PinRX, uint32_t Port, uint32_t UsartBase>
|
||||
struct uart_handler {
|
||||
static void enable_clocks() {
|
||||
__HAL_RCC_USART1_CLK_ENABLE();
|
||||
__HAL_RCC_USART2_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_AFIO_CLK_ENABLE();
|
||||
}
|
||||
@@ -41,6 +49,10 @@ struct uart_handler {
|
||||
/* USART1 interrupt Init */
|
||||
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
||||
|
||||
/* USART2 interrupt Init */
|
||||
HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(USART2_IRQn);
|
||||
}
|
||||
|
||||
static bool enable_oscillators() {
|
||||
@@ -142,3 +154,6 @@ UART_HandleTypeDef uart_handler<PinTX, PinRX, Port, UsartBase>::s_UARTHandle =
|
||||
|
||||
using uart_interface =
|
||||
uart_handler<UARTTX_PIN, UARTRX_PIN, UART_PORT, USART1_BASE>;
|
||||
|
||||
using gps_interface =
|
||||
uart_handler<UART2TX_PIN, UART2RX_PIN, UART2_PORT, USART2_BASE>;
|
||||
|
||||
Reference in New Issue
Block a user