当然是用函数了,在HAL库中有专门的函数可以实现这个功能。__HAL_UART_GET_FLAG(HANDLE, FLAG);
while(1)
{
if(g_usart1_rx_flag == 1)
{
printf("您输入的字符为:\r\n");
HAL_UART_Transmit(&g_uart1_handle, (uint8_t*)g_rx_buffer, 1, 1000);
while(__HAL_UART_GET_FLAG(&g_uart1_handle, UART_FLAG_TC) != 1);
printf("\r\n");
g_usart1_rx_flag = 0;
}
UART_HandleTypeDef g_uart1_handle; /* UART句柄 */
而__HANDLE__是句柄此处可替换为&g_uart1_handle,__FLAG__则是对应的标志位.比如上面程序的UART_FLAG_TC,就是对应寄存器的TC标志位。