diff --git a/miosix/arch/common/drivers/serial.h b/miosix/arch/common/drivers/serial.h index 570276456466b860bd1f68bed55caf1a9db8d25a..a36b4df6ae125700863231d2c47be1817f812454 100644 --- a/miosix/arch/common/drivers/serial.h +++ b/miosix/arch/common/drivers/serial.h @@ -5,10 +5,9 @@ #include "stm32f1_f2_f4_serial.h" #elif defined(_ARCH_CORTEXM7_STM32F7) || defined(_ARCH_CORTEXM0PLUS_STM32L0) \ || defined(_ARCH_CORTEXM4_STM32L4) || defined(_ARCH_CORTEXM4_STM32F3) \ - || defined(_ARCH_CORTEXM0_STM32F0) || defined(_ARCH_CORTEXM7_STM32H7) + || defined(_ARCH_CORTEXM0_STM32F0) || defined(_ARCH_CORTEXM7_STM32H7) \ + || defined(_ARCH_CORTEXM33_STM32H5) #include "stm32f7_serial.h" -#elif defined(_ARCH_CORTEXM33_STM32H5) -#include "stm32f1_f2_f4_serial.h" // TODO #elif defined(_ARCH_CORTEXM3_EFM32GG) || defined(_ARCH_CORTEXM3_EFM32G) #include "efm32_serial.h" #elif defined(_ARCH_CORTEXM4_ATSAM4L) diff --git a/miosix/arch/common/drivers/stm32f7_serial.cpp b/miosix/arch/common/drivers/stm32f7_serial.cpp index f417427ea90a239a2af0f572faaa077d3ec8c526..8e3ac355897eeb1b448b313fc4e226030da62265 100644 --- a/miosix/arch/common/drivers/stm32f7_serial.cpp +++ b/miosix/arch/common/drivers/stm32f7_serial.cpp @@ -405,6 +405,22 @@ static const STM32SerialHW ports[maxPorts] = { { LPUART1, LPUART1_IRQn, {lpuart1AfSpans}, true, STM32Bus::APB4, RCC_APB4ENR_LPUART1EN, { 0 } }, }; +#elif defined(STM32H503xx) +constexpr int maxPorts = 3; +static const STM32SerialHW ports[maxPorts] = { + { USART1, USART1_IRQn, {7}, false, STM32Bus::APB2, RCC_APB2ENR_USART1EN, + /*{ DMA1, STM32Bus::AHB1, RCC_AHB1ENR_DMA1EN, + DMA1_Channel4, DMA1_Channel4_IRQn, STM32SerialDMAHW::Channel4, {4, 25}, + DMA1_Channel5, DMA1_Channel5_IRQn, STM32SerialDMAHW::Channel5, {5, 24} }*/ }, + { USART2, USART2_IRQn, {7}, false, STM32Bus::APB1, RCC_APB1ENR_USART2EN, + /*{ DMA1, STM32Bus::AHB1, RCC_AHB1ENR_DMA1EN, + DMA1_Channel7, DMA1_Channel7_IRQn, STM32SerialDMAHW::Channel7, {7, 27}, + DMA1_Channel6, DMA1_Channel6_IRQn, STM32SerialDMAHW::Channel6, {6, 26} }*/ }, + { USART3, USART3_IRQn, {7}, false, STM32Bus::APB1, RCC_APB1ENR_USART3EN, + /*{ DMA1, STM32Bus::AHB1, RCC_AHB1ENR_DMA1EN, + DMA1_Channel2, DMA1_Channel2_IRQn, STM32SerialDMAHW::Channel2, {2, 29}, + DMA1_Channel3, DMA1_Channel3_IRQn, STM32SerialDMAHW::Channel3, {3, 28} }*/ }, +}; #else #error Unsupported STM32 chip for this serial driver #endif