34#ifndef _FREERTOS_DRIVERS_ST_STM32F0XXUART_HXX_
35#define _FREERTOS_DRIVERS_ST_STM32F0XXUART_HXX_
43#if defined (STM32F030x6) || defined (STM32F031x6) || defined (STM32F038xx)
45#elif defined (STM32F030x8) || defined (STM32F042x6) || defined (STM32F048xx) \
46 || defined (STM32F051x8) || defined (STM32F058xx) || defined (STM32F070x6)
48#elif defined (STM32L432xx)
50 #define USART3 LPUART1
52#elif defined (STM32L431xx)
54 #define USART4 LPUART1
56#elif defined (STM32F070xB) || defined (STM32F071xB) || defined (STM32F072xB) \
57 || defined (STM32F078xx)
59 #define SHARED_UART3_8_IRQn USART3_4_IRQn
60#elif defined (STM32F303xC) || defined (STM32F303xE)
64#elif defined (STM32F030xC)
66 #define SHARED_UART3_8_IRQn USART3_6_IRQn
67#elif defined (STM32F091xC) || defined (STM32F098xx)
69 #define SHARED_UART3_8_IRQn USART3_8_IRQn
70#elif defined (STM32F767xx)
76#elif defined (STM32G0B1xx)
78 #define SHARED_UART3_8_IRQn USART3_4_5_6_LPUART1_IRQn
79 #define USART7 LPUART1
80 #define USART8 LPUART2
82#error don_t know this STM32 MCU
114 int ioctl(
File *file,
unsigned long int key,
unsigned long data)
override;
131 static uint8_t interrupt2_8EnableCnt;
const char * name
device name
Private data for a serial device.
Specialization of Serial driver for STM32F0xx devices.
void disable() override
function to disable device
IRQn_Type interrupt
interrupt of this device
void enable() override
function to enable device
Stm32Uart()
Default constructor.
static uint8_t interrupt3_to_8EnableCnt
number of times interrupts have been enabled on these UART channels
int ioctl(File *file, unsigned long int key, unsigned long data) override
Request an ioctl transaction.
UART_HandleTypeDef uartHandle
Handle to the UART setup.
void tx_char() override
Try and transmit a message.
void interrupt_handler()
handle an interrupt.
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
Removes default copy-constructor and assignment added by C++.