平台是STM32F407ZGT6,已经完成了裸机的内核移植并且实现了console_output。串口有这样的正常输出但是msh之后有这样的报错检查了之后是因为rt_device_read传入的dev为RT_NULL,但是不知道该如何解决,希望得到帮助,谢谢PS:已经在工程中复制添加了RT-Thread官方的代码目录components下finsh中的源代码之后出现的问题
查看更多
没有添加下面这句?设置控制台的串口设备,这里决定了用的那个串口。能打印输出说明串口设备启动了
/* Set the shell console output device */#ifdef RT_USING_CONSOLE rt_console_set_device(RT_CONSOLE_DEVICE_NAME);#endif
/* Set the shell console output device */
#ifdef RT_USING_CONSOLE
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
#endif
请问这段话是在哪里的呢,我在rt_hw_borad_init中调用过了,还是一样的问题
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
你的代码中最后一句,也是一个道理。
看前边,MX_USART1_UART_Init(); 这个仅仅初始化了串口,没有注册到设备框架,所以后面的 xxx_set_device 全失败了。
看来你没有使用 RT_USING_DEVICE RT_USING_POSIX
你这种情况需要实现
rt_hw_console_getchar
这个函数,上面的俩 xxx_set_device 函数就没用了。这个 getchar 里面返回一个串口接收的字节。可能得你自己实现。
@出出啊 哦哦,我照着nano这部分的代码改了一下,写了rt_hw_console_getchar 可以实现Finsh了,非常感谢