diff --git a/contrib/usart-stm32f103.c b/contrib/usart-stm32f103.c index 7b8c464..ef146f4 100644 --- a/contrib/usart-stm32f103.c +++ b/contrib/usart-stm32f103.c @@ -533,6 +533,10 @@ usart_block_sendrecv (uint8_t dev_no, const char *s_buf, uint16_t s_buflen, if (r_buf == NULL) return 0; + if (!p) + if (smartcard_mode) + usart_config_recv_enable (USARTx, 1); + /* Receiving part */ r = chopstx_poll (timeout_block_p, 1, ph); if (r == 0) diff --git a/contrib/usart-stm32l4.c b/contrib/usart-stm32l4.c index 1a53504..3c9945f 100644 --- a/contrib/usart-stm32l4.c +++ b/contrib/usart-stm32l4.c @@ -530,6 +530,10 @@ usart_block_sendrecv (uint8_t dev_no, const char *s_buf, uint16_t s_buflen, if (r_buf == NULL) return 0; + if (!p) + if (smartcard_mode) + usart_config_recv_enable (USARTx, 1); + /* Receiving part */ r = chopstx_poll (timeout_block_p, 1, ph); if (r == 0)