summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriabdalkader <i.abdalkader@gmail.com>2021-04-28 20:49:29 +0200
committerDamien George <damien@micropython.org>2021-04-30 01:10:02 +1000
commit4d967868238e3c359187921edab8e6fc164f357d (patch)
tree512e50ec3991428565d5238977b44c404aa52b3b
parentcf7e71fa4377e30c8612fa19032ae3004670c7e3 (diff)
stm32/uart: Enable HW flow control for UART 1/5/7/8.
-rw-r--r--ports/stm32/uart.c40
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