1 #ifndef STM32F103_CORE_UART_H_
2 #define STM32F103_CORE_UART_H_
7 #include <stm32f10x_usart.h>
73 void TxByte(
const uint8_t byte);
80 void Tx(
const char* data, ...);
86 void Tx(
const std::string& str);
94 void Init(uint32_t baud_rate);
97 USART_TypeDef* usart_;
99 std::unique_ptr<GPIO> tx_ =
nullptr;
100 std::unique_ptr<GPIO> rx_ =
nullptr;
106 #endif // STM32F103_CORE_UART_H_
uint32_t rx_periph
RX Peripheral Clock.
Definition: uart.h:44
void Init(uint32_t baud_rate)
Performs initialization for this UART interface.
Definition: uart.cpp:38
uint32_t rcc
RCC: Reset & Clock Control.
Definition: uart.h:28
std::pair< GPIO_TypeDef *, uint16_t > Pin
Type definition for a single pin.
Definition: util.h:16
Configuration for individual UART interfaces.
Definition: uart.h:20
void EnableInterrupt()
Enables interrupt for UART RX.
Definition: uart.cpp:60
void TxByte(const uint8_t byte)
Transmits one byte.
Definition: uart.cpp:75
Implements an abstraction layer for UART interface.
Definition: uart.h:15
IRQn irq
Interrupt Handler.
Definition: uart.h:48
Pin tx
TX Pin.
Definition: uart.h:32
USART_TypeDef * usart
UART/USART.
Definition: uart.h:24
void Tx(const char *data,...)
Transmits a formatted string.
Definition: uart.cpp:80
uint32_t baud_rate
Baud Rate.
Definition: uart.h:53
Pin rx
RX Pin.
Definition: uart.h:36
UART(const Config &config)
Constructor for UART.
Definition: uart.cpp:9
uint32_t tx_periph
TX Peripheral Clock.
Definition: uart.h:40