所有方法来源于官网:https://www.rt-thread.org/document/site/tutorial/nano/finsh-port/an0045-finsh-port/#nano-finsh
1、添加配置
2、源码:
/******************************************************************************************
*** 函数名称: 实现 finsh 组件输出一个字符
*** 输入参数: str
*** 返 回 值: 无
*** 说 明:https://www.rt-thread.org/document/site/tutorial/nano/finsh-port/an0045-finsh-port/#nano-finsh
*** 编者 时间 版本
*** wagnlu 2020/10/18 V0.1
******************************************************************************************/
char rt_hw_console_getchar(void)
{
int ch = -1;
if (__HAL_UART_GET_FLAG(&RT_UARTDEBUG, UART_FLAG_RXNE) != RESET)
{
ch = RT_UARTDEBUG.Instance->DR & 0xff;
}
else
{
if(__HAL_UART_GET_FLAG(&RT_UARTDEBUG, UART_FLAG_ORE) != RESET)
{
__HAL_UART_CLEAR_OREFLAG(&RT_UARTDEBUG);
}
rt_thread_mdelay(10);
}
return ch;
}
3、调试输出结果: