uart_config.h 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-10-30 SummerGift first version
  9. * 2019-01-03 zylx modify dma support
  10. * 2020-06-03 chenyaxing modify uart config
  11. */
  12. #ifndef __UART_CONFIG_H__
  13. #define __UART_CONFIG_H__
  14. #include <rtthread.h>
  15. #include <board.h>
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #if defined(BSP_USING_UART1)
  20. #ifndef UART1_CONFIG
  21. #define UART1_CONFIG \
  22. { \
  23. .name = "uart1", \
  24. .Instance = USART1, \
  25. .irq_type = USART1_IRQn, \
  26. .tx_pin_name = BSP_UART1_TX_PIN, \
  27. .rx_pin_name = BSP_UART1_RX_PIN, \
  28. }
  29. #endif /* UART1_CONFIG */
  30. #if defined(BSP_UART1_RX_USING_DMA)
  31. #ifndef UART1_DMA_RX_CONFIG
  32. #define UART1_DMA_RX_CONFIG \
  33. { \
  34. .Instance = UART1_RX_DMA_INSTANCE, \
  35. .dma_rcc = UART1_RX_DMA_RCC, \
  36. .dma_irq = UART1_RX_DMA_IRQ, \
  37. }
  38. #endif /* UART1_DMA_RX_CONFIG */
  39. #endif /* BSP_UART1_RX_USING_DMA */
  40. #if defined(BSP_UART1_TX_USING_DMA)
  41. #ifndef UART1_DMA_TX_CONFIG
  42. #define UART1_DMA_TX_CONFIG \
  43. { \
  44. .Instance = UART1_TX_DMA_INSTANCE, \
  45. .dma_rcc = UART1_TX_DMA_RCC, \
  46. .dma_irq = UART1_TX_DMA_IRQ, \
  47. }
  48. #endif /* UART1_DMA_TX_CONFIG */
  49. #endif /* BSP_UART1_TX_USING_DMA */
  50. #endif /* BSP_USING_UART1 */
  51. #if defined(BSP_USING_UART2)
  52. #ifndef UART2_CONFIG
  53. #define UART2_CONFIG \
  54. { \
  55. .name = "uart2", \
  56. .Instance = USART2, \
  57. .irq_type = USART2_IRQn, \
  58. .tx_pin_name = BSP_UART2_TX_PIN, \
  59. .rx_pin_name = BSP_UART2_RX_PIN, \
  60. }
  61. #endif /* UART2_CONFIG */
  62. #if defined(BSP_UART2_RX_USING_DMA)
  63. #ifndef UART2_DMA_RX_CONFIG
  64. #define UART2_DMA_RX_CONFIG \
  65. { \
  66. .Instance = UART2_RX_DMA_INSTANCE, \
  67. .dma_rcc = UART2_RX_DMA_RCC, \
  68. .dma_irq = UART2_RX_DMA_IRQ, \
  69. }
  70. #endif /* UART2_DMA_RX_CONFIG */
  71. #endif /* BSP_UART2_RX_USING_DMA */
  72. #if defined(BSP_UART2_TX_USING_DMA)
  73. #ifndef UART2_DMA_TX_CONFIG
  74. #define UART2_DMA_TX_CONFIG \
  75. { \
  76. .Instance = UART2_TX_DMA_INSTANCE, \
  77. .dma_rcc = UART2_TX_DMA_RCC, \
  78. .dma_irq = UART2_TX_DMA_IRQ, \
  79. }
  80. #endif /* UART2_DMA_TX_CONFIG */
  81. #endif /* BSP_UART2_TX_USING_DMA */
  82. #endif /* BSP_USING_UART2 */
  83. #if defined(BSP_USING_UART3)
  84. #ifndef UART3_CONFIG
  85. #define UART3_CONFIG \
  86. { \
  87. .name = "uart3", \
  88. .Instance = USART3, \
  89. .irq_type = USART3_IRQn, \
  90. .tx_pin_name = BSP_UART3_TX_PIN, \
  91. .rx_pin_name = BSP_UART3_RX_PIN, \
  92. }
  93. #endif /* UART3_CONFIG */
  94. #if defined(BSP_UART3_RX_USING_DMA)
  95. #ifndef UART3_DMA_RX_CONFIG
  96. #define UART3_DMA_RX_CONFIG \
  97. { \
  98. .Instance = UART3_RX_DMA_INSTANCE, \
  99. .dma_rcc = UART3_RX_DMA_RCC, \
  100. .dma_irq = UART3_RX_DMA_IRQ, \
  101. }
  102. #endif /* UART3_DMA_RX_CONFIG */
  103. #endif /* BSP_UART3_RX_USING_DMA */
  104. #if defined(BSP_UART3_TX_USING_DMA)
  105. #ifndef UART3_DMA_TX_CONFIG
  106. #define UART3_DMA_TX_CONFIG \
  107. { \
  108. .Instance = UART3_TX_DMA_INSTANCE, \
  109. .dma_rcc = UART3_TX_DMA_RCC, \
  110. .dma_irq = UART3_TX_DMA_IRQ, \
  111. }
  112. #endif /* UART3_DMA_TX_CONFIG */
  113. #endif /* BSP_UART3_TX_USING_DMA */
  114. #endif /* BSP_USING_UART3 */
  115. #if defined(BSP_USING_UART4)
  116. #ifndef UART4_CONFIG
  117. #define UART4_CONFIG \
  118. { \
  119. .name = "uart4", \
  120. .Instance = UART4, \
  121. .irq_type = UART4_IRQn, \
  122. .tx_pin_name = BSP_UART4_TX_PIN, \
  123. .rx_pin_name = BSP_UART4_RX_PIN, \
  124. }
  125. #endif /* UART4_CONFIG */
  126. #if defined(BSP_UART4_RX_USING_DMA)
  127. #ifndef UART4_DMA_RX_CONFIG
  128. #define UART4_DMA_RX_CONFIG \
  129. { \
  130. .Instance = UART4_RX_DMA_INSTANCE, \
  131. .dma_rcc = UART4_RX_DMA_RCC, \
  132. .dma_irq = UART4_RX_DMA_IRQ, \
  133. }
  134. #endif /* UART4_DMA_RX_CONFIG */
  135. #endif /* BSP_UART4_RX_USING_DMA */
  136. #if defined(BSP_UART4_TX_USING_DMA)
  137. #ifndef UART4_DMA_TX_CONFIG
  138. #define UART4_DMA_TX_CONFIG \
  139. { \
  140. .Instance = UART4_TX_DMA_INSTANCE, \
  141. .dma_rcc = UART4_TX_DMA_RCC, \
  142. .dma_irq = UART4_TX_DMA_IRQ, \
  143. }
  144. #endif /* UART4_DMA_TX_CONFIG */
  145. #endif /* BSP_UART4_RX_USING_DMA */
  146. #endif /* BSP_USING_UART4 */
  147. #if defined(BSP_USING_UART5)
  148. #ifndef UART5_CONFIG
  149. #define UART5_CONFIG \
  150. { \
  151. .name = "uart5", \
  152. .Instance = UART5, \
  153. .irq_type = UART5_IRQn, \
  154. .tx_pin_name = BSP_UART5_TX_PIN, \
  155. .rx_pin_name = BSP_UART5_RX_PIN, \
  156. }
  157. #endif /* UART5_CONFIG */
  158. #if defined(BSP_UART5_RX_USING_DMA)
  159. #ifndef UART5_DMA_RX_CONFIG
  160. #define UART5_DMA_RX_CONFIG \
  161. { \
  162. .Instance = UART5_RX_DMA_INSTANCE, \
  163. .dma_rcc = UART5_RX_DMA_RCC, \
  164. .dma_irq = UART5_RX_DMA_IRQ, \
  165. }
  166. #endif /* UART5_DMA_RX_CONFIG */
  167. #endif /* BSP_UART5_RX_USING_DMA */
  168. #if defined(BSP_UART5_TX_USING_DMA)
  169. #ifndef UART5_DMA_TX_CONFIG
  170. #define UART5_DMA_TX_CONFIG \
  171. { \
  172. .Instance = UART5_TX_DMA_INSTANCE, \
  173. .dma_rcc = UART5_TX_DMA_RCC, \
  174. .dma_irq = UART5_TX_DMA_IRQ, \
  175. }
  176. #endif /* UART5_DMA_TX_CONFIG */
  177. #endif /* BSP_UART5_TX_USING_DMA */
  178. #endif /* BSP_USING_UART5 */
  179. #ifdef __cplusplus
  180. }
  181. #endif
  182. #endif