打开对应的宏
重写rt_hw_console_getchar函数 这个函数的任务就是将接收到的数据返回,采用的是不停的扫描的方式,所以对应的串口中断应该关闭。
char rt_hw_console_getchar(void)
{
int ch = -1;
if (__HAL_UART_GET_FLAG(&UART1_Handler, UART_FLAG_RXNE) != RESET)
{
ch = UART1_Handler.Instance->DR & 0xff;
}
else
{
if(__HAL_UART_GET_FLAG(&UART1_Handler, UART_FLAG_ORE) != RESET)
{
__HAL_UART_CLEAR_OREFLAG(&UART1_Handler);
}
rt_thread_mdelay(10);
}
return ch;
}
在xshell里面选择串口连接,就可以正常交互