can & uart 串口驱动初步完善

Signed-off-by: a1012112796 <1012112796@qq.com>
This commit is contained in:
2022-12-16 16:59:20 +08:00
parent 1e55f52bd0
commit e9b743dbb8
11 changed files with 888 additions and 298 deletions

View File

@@ -151,18 +151,30 @@ extern "C" {
#endif
/* DMA2 stream0 */
#if defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_INSTANCE)
#if defined(BSP_UART9_TX_USING_DMA) && !defined(UART9_TX_DMA_INSTANCE)
#define UART9_DMA_TX_IRQHandler DMA2_Stream0_IRQHandler
#define UART9_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART9_TX_DMA_INSTANCE DMA2_Stream0
#define UART9_TX_DMA_CHANNEL DMA_CHANNEL_1
#define UART9_TX_DMA_IRQ DMA2_Stream0_IRQn
#elif defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_INSTANCE)
#define SPI1_DMA_RX_IRQHandler DMA2_Stream0_IRQHandler
#define SPI1_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define SPI1_RX_DMA_INSTANCE DMA2_Stream0
#define SPI1_RX_DMA_CHANNEL DMA_CHANNEL_3
#define SPI1_RX_DMA_IRQ DMA2_Stream0_IRQn
#elif defined(BSP_SPI4_RX_USING_DMA) && !defined(SPI4_RX_DMA_INSTANCE)
#define SPI4_DMA_RX_IRQHandler DMA2_Stream0_IRQHandler
#define SPI4_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define SPI4_RX_DMA_INSTANCE DMA2_Stream0
#define SPI4_RX_DMA_CHANNEL DMA_CHANNEL_4
#define SPI4_RX_DMA_IRQ DMA2_Stream0_IRQn
#elif defined(BSP_SPI4_TX_USING_DMA) && !defined(SPI4_TX_DMA_INSTANCE)
#define SPI4_DMA_TX_IRQHandler DMA2_Stream0_IRQHandler
#define SPI4_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define SPI4_TX_DMA_INSTANCE DMA2_Stream0
#define SPI4_TX_DMA_CHANNEL DMA_CHANNEL_4
#define SPI4_TX_DMA_IRQ DMA2_Stream0_IRQn
#elif defined(BSP_UART10_RX_USING_DMA) && !defined(UART10_RX_DMA_INSTANCE)
#define UART10_DMA_RX_IRQHandler DMA2_Stream0_IRQHandler
#define UART10_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART10_RX_DMA_INSTANCE DMA2_Stream0
#define UART10_RX_DMA_CHANNEL DMA_CHANNEL_5
#define UART10_RX_DMA_IRQ DMA2_Stream0_IRQn
#endif
/* DMA2 stream1 */
@@ -208,12 +220,18 @@ extern "C" {
#define SPI1_TX_DMA_INSTANCE DMA2_Stream3
#define SPI1_TX_DMA_CHANNEL DMA_CHANNEL_3
#define SPI1_TX_DMA_IRQ DMA2_Stream3_IRQn
#elif defined(BSP_SPI4_RX_USING_DMA) && !defined(SPI4_RX_DMA_INSTANCE)
#define SPI4_DMA_RX_IRQHandler DMA2_Stream3_IRQHandler
#define SPI4_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define SPI4_RX_DMA_INSTANCE DMA2_Stream3
#define SPI4_RX_DMA_CHANNEL DMA_CHANNEL_5
#define SPI4_RX_DMA_IRQ DMA2_Stream3_IRQn
#elif defined(BSP_SPI4_TX_USING_DMA) && !defined(SPI4_TX_DMA_INSTANCE)
#define SPI4_DMA_TX_IRQHandler DMA2_Stream3_IRQHandler
#define SPI4_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define SPI4_TX_DMA_INSTANCE DMA2_Stream3
#define SPI4_TX_DMA_CHANNEL DMA_CHANNEL_5
#define SPI4_TX_DMA_IRQ DMA2_Stream3_IRQn
#elif defined(BSP_UART10_RX_USING_DMA) && !defined(UART10_RX_DMA_INSTANCE)
#define UART10_DMA_RX_IRQHandler DMA2_Stream3_IRQHandler
#define UART10_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART10_RX_DMA_INSTANCE DMA2_Stream3
#define UART10_RX_DMA_CHANNEL DMA_CHANNEL_9
#define UART10_RX_DMA_IRQ DMA2_Stream3_IRQn
#endif
/* DMA2 stream4 */
@@ -250,6 +268,12 @@ extern "C" {
#define SPI5_RX_DMA_INSTANCE DMA2_Stream5
#define SPI5_RX_DMA_CHANNEL DMA_CHANNEL_7
#define SPI5_RX_DMA_IRQ DMA2_Stream5_IRQn
#elif defined(BSP_UART10_TX_USING_DMA) && !defined(UART10_TX_DMA_INSTANCE)
#define UART10_DMA_TX_IRQHandler DMA2_Stream5_IRQHandler
#define UART10_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART10_TX_DMA_INSTANCE DMA2_Stream5
#define UART10_TX_DMA_CHANNEL DMA_CHANNEL_9
#define UART10_TX_DMA_IRQ DMA2_Stream5_IRQn
#endif
/* DMA2 stream6 */
@@ -259,7 +283,7 @@ extern "C" {
#define SPI5_TX_DMA_INSTANCE DMA2_Stream6
#define SPI5_TX_DMA_CHANNEL DMA_CHANNEL_7
#define SPI5_TX_DMA_IRQ DMA2_Stream6_IRQn
#elif defined(BSP_UART6_TX_USING_DMA) && !defined(BSP_USING_SDIO) && !defined(UART6_TX_DMA_INSTANCE)
#elif defined(BSP_UART6_TX_USING_DMA) && !defined(UART6_TX_DMA_INSTANCE)
#define UART6_DMA_TX_IRQHandler DMA2_Stream6_IRQHandler
#define UART6_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART6_TX_DMA_INSTANCE DMA2_Stream6
@@ -268,18 +292,24 @@ extern "C" {
#endif
/* DMA2 stream7 */
#if defined(BSP_UART1_TX_USING_DMA) && !defined(UART1_TX_DMA_INSTANCE)
#if defined(BSP_UART9_RX_USING_DMA) && !defined(UART9_RX_DMA_INSTANCE)
#define UART9_DMA_RX_IRQHandler DMA2_Stream7_IRQHandler
#define UART9_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART9_RX_DMA_INSTANCE DMA2_Stream7
#define UART9_RX_DMA_CHANNEL DMA_CHANNEL_0
#define UART9_RX_DMA_IRQ DMA2_Stream7_IRQn
#elif defined(BSP_UART1_TX_USING_DMA) && !defined(UART1_TX_DMA_INSTANCE)
#define UART1_DMA_TX_IRQHandler DMA2_Stream7_IRQHandler
#define UART1_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART1_TX_DMA_INSTANCE DMA2_Stream7
#define UART1_TX_DMA_CHANNEL DMA_CHANNEL_4
#define UART1_TX_DMA_IRQ DMA2_Stream7_IRQn
#elif defined(BSP_UART6_TX_USING_DMA) && !defined(UART6_TX_DMA_INSTANCE)
#define UART6_DMA_TX_IRQHandler DMA2_Stream7_IRQHandler
#define UART6_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART6_TX_DMA_INSTANCE DMA2_Stream7
#define UART6_TX_DMA_CHANNEL DMA_CHANNEL_5
#define UART6_TX_DMA_IRQ DMA2_Stream7_IRQn
#elif defined(BSP_UART10_TX_USING_DMA) && !defined(UART10_TX_DMA_INSTANCE)
#define UART10_DMA_TX_IRQHandler DMA2_Stream7_IRQHandler
#define UART10_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART10_TX_DMA_INSTANCE DMA2_Stream7
#define UART10_TX_DMA_CHANNEL DMA_CHANNEL_6
#define UART10_TX_DMA_IRQ DMA2_Stream7_IRQn
#endif
#ifdef __cplusplus

View File

@@ -298,6 +298,76 @@ extern "C" {
#endif /* BSP_UART8_TX_USING_DMA */
#endif /* BSP_USING_UART8 */
#if defined(BSP_USING_UART9)
#ifndef UART9_CONFIG
#define UART9_CONFIG \
{ \
.name = "uart9", \
.Instance = UART9, \
.irq_type = UART9_IRQn, \
}
#endif /* UART8_CONFIG */
#if defined(BSP_UART9_RX_USING_DMA)
#ifndef UART9_DMA_RX_CONFIG
#define UART9_DMA_RX_CONFIG \
{ \
.Instance = UART8_RX_DMA_INSTANCE, \
.channel = UART8_RX_DMA_CHANNEL, \
.dma_rcc = UART8_RX_DMA_RCC, \
.dma_irq = UART8_RX_DMA_IRQ, \
}
#endif /* UART9_DMA_RX_CONFIG */
#endif /* BSP_UART9_RX_USING_DMA */
#if defined(BSP_UART9_TX_USING_DMA)
#ifndef UART9_DMA_TX_CONFIG
#define UART9_DMA_TX_CONFIG \
{ \
.Instance = UART9_TX_DMA_INSTANCE, \
.channel = UART9_TX_DMA_CHANNEL, \
.dma_rcc = UART9_TX_DMA_RCC, \
.dma_irq = UART9_TX_DMA_IRQ, \
}
#endif /* UART9_DMA_TX_CONFIG */
#endif /* BSP_UART9_TX_USING_DMA */
#endif /* BSP_USING_UART9 */
#if defined(BSP_USING_UART10)
#ifndef UART10_CONFIG
#define UART10_CONFIG \
{ \
.name = "uart10", \
.Instance = UART10, \
.irq_type = UART10_IRQn, \
}
#endif /* UART8_CONFIG */
#if defined(BSP_UART10_RX_USING_DMA)
#ifndef UART10_DMA_RX_CONFIG
#define UART10_DMA_RX_CONFIG \
{ \
.Instance = UART10_RX_DMA_INSTANCE, \
.channel = UART10_RX_DMA_CHANNEL, \
.dma_rcc = UART10_RX_DMA_RCC, \
.dma_irq = UART10_RX_DMA_IRQ, \
}
#endif /* UART10_DMA_RX_CONFIG */
#endif /* BSP_UART10_RX_USING_DMA */
#if defined(BSP_UART10_TX_USING_DMA)
#ifndef UART10_DMA_TX_CONFIG
#define UART10_DMA_TX_CONFIG \
{ \
.Instance = UART10_TX_DMA_INSTANCE, \
.channel = UART10_TX_DMA_CHANNEL, \
.dma_rcc = UART10_TX_DMA_RCC, \
.dma_irq = UART10_TX_DMA_IRQ, \
}
#endif /* UART10_DMA_TX_CONFIG */
#endif /* BSP_UART10_TX_USING_DMA */
#endif /* BSP_USING_UART10 */
#ifdef __cplusplus
}
#endif