diff options
| author | iabdalkader <i.abdalkader@gmail.com> | 2021-04-28 20:49:29 +0200 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2021-04-30 01:10:02 +1000 |
| commit | 4d967868238e3c359187921edab8e6fc164f357d (patch) | |
| tree | 512e50ec3991428565d5238977b44c404aa52b3b | |
| parent | cf7e71fa4377e30c8612fa19032ae3004670c7e3 (diff) | |
stm32/uart: Enable HW flow control for UART 1/5/7/8.
| -rw-r--r-- | ports/stm32/uart.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ports/stm32/uart.c b/ports/stm32/uart.c index babdf63d9..a2b69967b 100644 --- a/ports/stm32/uart.c +++ b/ports/stm32/uart.c @@ -223,6 +223,16 @@ bool uart_init(pyb_uart_obj_t *uart_obj, irqn = USART1_IRQn; pins[0] = MICROPY_HW_UART1_TX; pins[1] = MICROPY_HW_UART1_RX; + #if defined(MICROPY_HW_UART1_RTS) + if (flow & UART_HWCONTROL_RTS) { + pins[2] = MICROPY_HW_UART1_RTS; + } + #endif + #if defined(MICROPY_HW_UART1_CTS) + if (flow & UART_HWCONTROL_CTS) { + pins[3] = MICROPY_HW_UART1_CTS; + } + #endif __HAL_RCC_USART1_CLK_ENABLE(); break; #endif @@ -322,6 +332,16 @@ bool uart_init(pyb_uart_obj_t *uart_obj, #endif pins[0] = MICROPY_HW_UART5_TX; pins[1] = MICROPY_HW_UART5_RX; + #if defined(MICROPY_HW_UART5_RTS) + if (flow & UART_HWCONTROL_RTS) { + pins[2] = MICROPY_HW_UART5_RTS; + } + #endif + #if defined(MICROPY_HW_UART5_CTS) + if (flow & UART_HWCONTROL_CTS) { + pins[3] = MICROPY_HW_UART5_CTS; + } + #endif break; #endif @@ -364,6 +384,16 @@ bool uart_init(pyb_uart_obj_t *uart_obj, #endif pins[0] = MICROPY_HW_UART7_TX; pins[1] = MICROPY_HW_UART7_RX; + #if defined(MICROPY_HW_UART7_RTS) + if (flow & UART_HWCONTROL_RTS) { + pins[2] = MICROPY_HW_UART7_RTS; + } + #endif + #if defined(MICROPY_HW_UART7_CTS) + if (flow & UART_HWCONTROL_CTS) { + pins[3] = MICROPY_HW_UART7_CTS; + } + #endif break; #endif @@ -381,6 +411,16 @@ bool uart_init(pyb_uart_obj_t *uart_obj, #endif pins[0] = MICROPY_HW_UART8_TX; pins[1] = MICROPY_HW_UART8_RX; + #if defined(MICROPY_HW_UART8_RTS) + if (flow & UART_HWCONTROL_RTS) { + pins[2] = MICROPY_HW_UART8_RTS; + } + #endif + #if defined(MICROPY_HW_UART8_CTS) + if (flow & UART_HWCONTROL_CTS) { + pins[3] = MICROPY_HW_UART8_CTS; + } + #endif break; #endif |
