1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2023-01-31 shelton first version 9 */ 10 11 #ifndef __UART_CONFIG_H__ 12 #define __UART_CONFIG_H__ 13 14 #include <rtthread.h> 15 #include "dma_config.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 #define UART1_IRQHandler USART1_IRQHandler 22 #define UART2_IRQHandler USART2_IRQHandler 23 24 #if defined(BSP_USING_UART1) 25 #define UART1_CONFIG \ 26 { \ 27 .name = "uart1", \ 28 .uart_x = USART1, \ 29 .irqn = USART1_IRQn, \ 30 } 31 32 #if defined(BSP_UART1_RX_USING_DMA) 33 #define UART1_RX_DMA_CONFIG \ 34 { \ 35 .dma_channel = UART1_RX_DMA_CHANNEL, \ 36 .dma_clock = UART1_RX_DMA_CLOCK, \ 37 .dma_irqn = UART1_RX_DMA_IRQ, \ 38 } 39 #endif /* BSP_UART1_RX_USING_DMA */ 40 41 #if defined(BSP_UART1_TX_USING_DMA) 42 #define UART1_TX_DMA_CONFIG \ 43 { \ 44 .dma_channel = UART1_TX_DMA_CHANNEL, \ 45 .dma_clock = UART1_TX_DMA_CLOCK, \ 46 .dma_irqn = UART1_TX_DMA_IRQ, \ 47 } 48 #endif /* BSP_UART1_TX_USING_DMA */ 49 #endif /* BSP_USING_UART1 */ 50 51 #if defined(BSP_USING_UART2) 52 #define UART2_CONFIG \ 53 { \ 54 .name = "uart2", \ 55 .uart_x = USART2, \ 56 .irqn = USART2_IRQn, \ 57 } 58 59 #if defined(BSP_UART2_RX_USING_DMA) 60 #define UART2_RX_DMA_CONFIG \ 61 { \ 62 .dma_channel = UART2_RX_DMA_CHANNEL, \ 63 .dma_clock = UART2_RX_DMA_CLOCK, \ 64 .dma_irqn = UART2_RX_DMA_IRQ, \ 65 } 66 #endif /* BSP_UART2_RX_USING_DMA */ 67 68 #if defined(BSP_UART2_TX_USING_DMA) 69 #define UART2_TX_DMA_CONFIG \ 70 { \ 71 .dma_channel = UART2_TX_DMA_CHANNEL, \ 72 .dma_clock = UART2_TX_DMA_CLOCK, \ 73 .dma_irqn = UART2_TX_DMA_IRQ, \ 74 } 75 #endif /* BSP_UART2_TX_USING_DMA */ 76 #endif /* BSP_USING_UART2 */ 77 78 #ifdef __cplusplus 79 } 80 #endif 81 82 #endif 83