HAL_UART_Transmit with Single Wire Half Duplex?
Using CubeIDE v1.13.0, installed this week.
On STM32F0Discovery (STM32F051):
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_UART_Transmit( &huart1, "Hello, UART1 world!\r\n", 21, 10000 );
HAL_GPIO_TogglePin( LD3_GPIO_Port, LD3_Pin );
HAL_Delay( 500 );
HAL_UART_Transmit( &huart2, "Hello, UART2 world!\r\n", 21, 10000 );
HAL_GPIO_TogglePin( LD4_GPIO_Port, LD4_Pin );
HAL_Delay( 500 );
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */The first HAL_UART_Transmit is to UART1, configured as full-duplex.
This works fine - the full string is transmitted each time:

The second HAL_UART_Transmit is to UART2, configured as Single Wire Half Duplex.
This does not quite work - only the 1st two characters are ever transmitted:

If I single-step the transmit loop in the HAL_UART_Transmit for UART2, it does transmit the entire string.
So what's going on here? Is there some gotcha! with Single Wire Half Duplex?
(Screenshots are from YAT; same results when using TeraTerm)
