软件环境:
Keil V5.36
RT-Thread Nano 3.1.5
官网提到,移植 RT-Thread Nano 时需要编辑 char rt_hw_console_getchar(void),官网提供的是 STM32F107 版本的代码:
char rt_hw_console_getchar(void)
{
int ch = -1;
if (__HAL_UART_GET_FLAG(&UartHandle, UART_FLAG_RXNE) != RESET)
{
ch = UartHandle.Instance->DR & 0xff;
}
else
{
if(__HAL_UART_GET_FLAG(&UartHandle, UART_FLAG_ORE) != RESET)
{
__HAL_UART_CLEAR_OREFLAG(&UartHandle);
}
rt_thread_mdelay(10);
}
return ch;
}
我对 STM32F107 不熟悉,查阅头文件发现 STM32F767 中无DR寄存器,只有TDR和RDR,我尝试更改为RDR寄存器,但是仍然无法读取字符,我目前在嵌入式方面刚刚入门,求教如何写一个适配 STM32F767 的,使用查询方式或中断方式的 uart 获取字符的函数以对接 FinSH 组件,使得单片机运行时可以读取串口调试工具的输入。
举报
举报
举报
举报
更多回帖