finsh提示msh>但是不能接收?

发布于 2021-05-28 15:29:13    浏览:209

想用一下finsh,可以打印出来这些
image.png
这个时候我不知道怎么输入内容,通过串口发了help也没用
image.png

实现了rt_hw_console_getchar函数,代码如下

char rt_hw_console_getchar(void)
{
    int ch = -1;

    if (USART_GetFlagStatus( USART1, USART_FLAG_RXNE)!= RESET)
    {
        ch = (int)USART_ReceiveData(USART1);
        USART_ClearFlag(USART1, USART_FLAG_RXNE);
    }
    else
    {
        if(USART_GetFlagStatus( USART1, USART_FLAG_ORE)!= RESET)
        {
            USART_ClearFlag(USART1, USART_FLAG_ORE);
        }
        rt_thread_mdelay(10);
    }
    return ch;
}

关闭了串口的中断,不知道怎么改了,谢谢

我添加了代码,现象如下,显示出来msh,我输入help,没反应:
image.png

代码压缩包FJ_rt_thread.zip

谢谢

查看更多

4 个回答
伊森亨特
伊森亨特 2021-05-28
This guy hasn't written anything yet

{{FJ_rt_thread.zip(uploading...)}}还有一个情况,就是我取消了使用finsh,打开串口接收中断,但是串口不会进入中断服务函数了,这有可能是什么情况呢?调试之后没有进入串口的接收中断,也没有停在启动文件的B. ,而是停在了这里
image.png

Aurora_zk
Aurora_zk 2021-05-28
This guy hasn't written anything yet

你这是nano移植控制台出问题了?还是什么其他的问题,问题描述有点不太清楚

flashman2002
flashman2002 2021-05-31
This guy hasn't written anything yet

看来你没有移植完全。请对照nano移植文档检查一下。

小小李sunny
小小李sunny 2021-06-01
This guy hasn't written anything yet

1.你单步调试一下呢,先把控制台输出调试正常。
2.添加finsh后,发送命令,看接收的是否正确,是否缺少字符,或者就没接收到?(建议先参考文档用HAL库实现,了解整个过程,然后想用标准库的话,再修改使用标准库调试)。

手里没有硬件,无法调试,其实你用的F407VG,芯片资源应该还是够用的吧,既然想用finsh,用标准版RT就省去了很多麻烦,个人感觉哈。

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
209

发布
问题

分享
好友

手机
浏览

扫码手机浏览