From 38ed2a3ec4098b1b1a47ccf82ac3069ca82a81ab Mon Sep 17 00:00:00 2001 From: BruceOu <1576690133@qq.com> Date: Fri, 4 Mar 2022 13:49:28 +0800 Subject: [PATCH] [bsp/gd32]Optimize UART (#5603) * [bsp/gd32]Optimize UART * [bsp/gd32]Optimize UART --- ...66\344\275\234\346\225\231\347\250\213.md" | 2 +- bsp/gd32/gd32103c-eval/README.md | 2 +- bsp/gd32/gd32103c-eval/board/Kconfig | 43 ++++++++++- bsp/gd32/gd32105c-eval/README.md | 2 +- bsp/gd32/gd32105c-eval/board/Kconfig | 43 ++++++++++- bsp/gd32/gd32105r-start/README.md | 2 +- bsp/gd32/gd32105r-start/board/Kconfig | 43 ++++++++++- bsp/gd32/gd32107c-eval/README.md | 2 +- bsp/gd32/gd32107c-eval/board/Kconfig | 43 ++++++++++- bsp/gd32/gd32205r-start/README.md | 2 +- bsp/gd32/gd32205r-start/board/Kconfig | 43 ++++++++++- bsp/gd32/gd32303e-eval/README.md | 2 +- bsp/gd32/gd32303e-eval/board/Kconfig | 43 ++++++++++- bsp/gd32/gd32305r-start/README.md | 2 +- bsp/gd32/gd32305r-start/board/Kconfig | 43 ++++++++++- bsp/gd32/gd32407v-start/README.md | 2 +- bsp/gd32/gd32407v-start/board/Kconfig | 53 +++++++++++++- bsp/gd32/gd32450z-eval/board/Kconfig | 73 ++++++++++++++++++- bsp/gd32/libraries/gd32_drivers/drv_usart.c | 2 +- 19 files changed, 428 insertions(+), 19 deletions(-) diff --git "a/bsp/gd32/docs/GD32\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" "b/bsp/gd32/docs/GD32\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" index 4e517348b5..6b35a33850 100644 --- "a/bsp/gd32/docs/GD32\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" +++ "b/bsp/gd32/docs/GD32\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" @@ -42,7 +42,7 @@ GD32的BSP架构主要分为三个部分:libraries、tools和具体的Boards 安装完成后会自动打开,我们将其关闭。 -接下来我们下载GD32F30x的软件支持包。 +接下来我们下载GD32F4xx的软件支持包。 [下载地址](http://www.gd32mcu.com/cn/download) diff --git a/bsp/gd32/gd32103c-eval/README.md b/bsp/gd32/gd32103c-eval/README.md index bb7e51279b..04fff4a92b 100644 --- a/bsp/gd32/gd32103c-eval/README.md +++ b/bsp/gd32/gd32103c-eval/README.md @@ -24,7 +24,7 @@ GD3103C-EVAL是-兆易创新推出的一款GD32F10X系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART4 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 - SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32103c-eval/board/Kconfig b/bsp/gd32/gd32103c-eval/board/Kconfig index 354d212994..3240e327b7 100644 --- a/bsp/gd32/gd32103c-eval/board/Kconfig +++ b/bsp/gd32/gd32103c-eval/board/Kconfig @@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32105c-eval/README.md b/bsp/gd32/gd32105c-eval/README.md index 623501ef26..125d7e6890 100644 --- a/bsp/gd32/gd32105c-eval/README.md +++ b/bsp/gd32/gd32105c-eval/README.md @@ -28,7 +28,7 @@ GD3105C-EVAL是-兆易创新推出的一款GD32F10X系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART4 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 - SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32105c-eval/board/Kconfig b/bsp/gd32/gd32105c-eval/board/Kconfig index 72f7f9634a..d7fec293c8 100644 --- a/bsp/gd32/gd32105c-eval/board/Kconfig +++ b/bsp/gd32/gd32105c-eval/board/Kconfig @@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32105r-start/README.md b/bsp/gd32/gd32105r-start/README.md index 6a6c20c873..b3a02bae22 100644 --- a/bsp/gd32/gd32105r-start/README.md +++ b/bsp/gd32/gd32105r-start/README.md @@ -28,7 +28,7 @@ GD3105R-START是-兆易创新推出的一款GD32F10X系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART4 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 - SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32105r-start/board/Kconfig b/bsp/gd32/gd32105r-start/board/Kconfig index deda10f857..8c6338255d 100644 --- a/bsp/gd32/gd32105r-start/board/Kconfig +++ b/bsp/gd32/gd32105r-start/board/Kconfig @@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32107c-eval/README.md b/bsp/gd32/gd32107c-eval/README.md index a5dd4a3132..75ab55851e 100644 --- a/bsp/gd32/gd32107c-eval/README.md +++ b/bsp/gd32/gd32107c-eval/README.md @@ -28,7 +28,7 @@ GD3107C-EVAL是-兆易创新推出的一款GD32F10X系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART4 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 - SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32107c-eval/board/Kconfig b/bsp/gd32/gd32107c-eval/board/Kconfig index c20447d8e7..3a68096bc4 100644 --- a/bsp/gd32/gd32107c-eval/board/Kconfig +++ b/bsp/gd32/gd32107c-eval/board/Kconfig @@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32205r-start/README.md b/bsp/gd32/gd32205r-start/README.md index ec3489806a..43ef946f5d 100644 --- a/bsp/gd32/gd32205r-start/README.md +++ b/bsp/gd32/gd32205r-start/README.md @@ -28,7 +28,7 @@ GD32205R-START是-兆易创新推出的一款GD32F20X系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART4 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 - SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32205r-start/board/Kconfig b/bsp/gd32/gd32205r-start/board/Kconfig index 49e208681b..6953402bb2 100644 --- a/bsp/gd32/gd32205r-start/board/Kconfig +++ b/bsp/gd32/gd32205r-start/board/Kconfig @@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32303e-eval/README.md b/bsp/gd32/gd32303e-eval/README.md index dd789e8394..f71b1cd0e6 100644 --- a/bsp/gd32/gd32303e-eval/README.md +++ b/bsp/gd32/gd32303e-eval/README.md @@ -24,7 +24,7 @@ GD3303E-EVAL是-兆易创新推出的一款GD32F30X系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART4 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 - SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32303e-eval/board/Kconfig b/bsp/gd32/gd32303e-eval/board/Kconfig index c4b496f179..a36e954a1d 100644 --- a/bsp/gd32/gd32303e-eval/board/Kconfig +++ b/bsp/gd32/gd32303e-eval/board/Kconfig @@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32305r-start/README.md b/bsp/gd32/gd32305r-start/README.md index 343a2424b6..49db8aa8ad 100644 --- a/bsp/gd32/gd32305r-start/README.md +++ b/bsp/gd32/gd32305r-start/README.md @@ -28,7 +28,7 @@ GD3305R-START是-兆易创新推出的一款GD32F30X系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART4 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 - SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32305r-start/board/Kconfig b/bsp/gd32/gd32305r-start/board/Kconfig index 5ef7ae972d..043313a0fb 100644 --- a/bsp/gd32/gd32305r-start/board/Kconfig +++ b/bsp/gd32/gd32305r-start/board/Kconfig @@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32407v-start/README.md b/bsp/gd32/gd32407v-start/README.md index 6d0c851eae..f938dc9f84 100644 --- a/bsp/gd32/gd32407v-start/README.md +++ b/bsp/gd32/gd32407v-start/README.md @@ -28,7 +28,7 @@ GD32407V-START是-兆易创新推出的一款GD32F4XX系列的评估板,最高 | **片上外设** | **支持情况** | **备注** | |:--------- |:--------:|:------------------------------------- | | GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 | -| UART | 支持 | UART0 - UART7 | +| UART | 支持 | UART0 - UART5 | | I2C | 支持 | I2C1 | | SPI | 支持 | SPI0 -  SPI2 | | SPI FLASH | 支持 | | diff --git a/bsp/gd32/gd32407v-start/board/Kconfig b/bsp/gd32/gd32407v-start/board/Kconfig index 29331248c6..572e421de8 100644 --- a/bsp/gd32/gd32407v-start/board/Kconfig +++ b/bsp/gd32/gd32407v-start/board/Kconfig @@ -27,13 +27,64 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART5 + bool "Enable UART5" + default n + + config BSP_UART5_RX_USING_DMA + bool "Enable UART5 RX DMA" + depends on BSP_USING_UART5 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/gd32450z-eval/board/Kconfig b/bsp/gd32/gd32450z-eval/board/Kconfig index 6d37255141..c74455ad92 100644 --- a/bsp/gd32/gd32450z-eval/board/Kconfig +++ b/bsp/gd32/gd32450z-eval/board/Kconfig @@ -27,13 +27,84 @@ menu "On-chip Peripheral Drivers" default y select RT_USING_SERIAL if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" - depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART5 + bool "Enable UART5" + default n + + config BSP_UART5_RX_USING_DMA + bool "Enable UART5 RX DMA" + depends on BSP_USING_UART5 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART6 + bool "Enable UART6" + default n + + config BSP_UART6_RX_USING_DMA + bool "Enable UART6 RX DMA" + depends on BSP_USING_UART6 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART7 + bool "Enable UART7" + default n + + config BSP_UART7_RX_USING_DMA + bool "Enable UART7 RX DMA" + depends on BSP_USING_UART7 + select RT_SERIAL_USING_DMA default n endif diff --git a/bsp/gd32/libraries/gd32_drivers/drv_usart.c b/bsp/gd32/libraries/gd32_drivers/drv_usart.c index df9e40606a..9eebb96327 100644 --- a/bsp/gd32/libraries/gd32_drivers/drv_usart.c +++ b/bsp/gd32/libraries/gd32_drivers/drv_usart.c @@ -437,7 +437,7 @@ static int gd32_uart_putc(struct rt_serial_device *serial, char ch) uart = (struct gd32_uart *)serial->parent.user_data; usart_data_transmit(uart->uart_periph, ch); - while((usart_flag_get(uart->uart_periph, USART_FLAG_TC) == RESET)); + while((usart_flag_get(uart->uart_periph, USART_FLAG_TBE) == RESET)); return RT_EOK; } -- GitLab