RT-Thread多串口调试


前言

本人大三通信工程小白一枚,近期学习RTOS,为了能够巩固所学习的知识,且方便日后查询,故将学习中遇到的困难记录下来。
文章中若有错误之处,恳请大佬们指点更正!


一、遇到的困难(UART1串口中断无法进入)

在调试串口的时候,一直使用的是系统的FinSH控制台做为串口输出,于是想使用另一个串口来进行其他命令的输入。但是在实际的配置过程中,发现定义了UART1之后,却一直无法进入串口中断。而在使用命令行后,串口也可以进入中断。

二、发现问题

之后发帖求助后,才得知,通常情况下UART1会在新建工程的时候用作FinSH控制台的输出。也就是UART1已经被系统使用了,所以再重新配置会导致程序出错。

三、解决问题

通过以上的分析,解决方法也很明了了:
方法1、将系统的FinSH控制器改为UART2输出;
方法2、将自己使用的串口改为UART2。

1.修改FinSH

1.1配置STM32CubeMX

进入目录“.\board\CubeMX_Config”找到CubeMX的配置文件,将UART2的端口使能配置。
在这里插入图片描述

1.2修改Kconfig文件

进入目录“.\board,找到Kconfig的配置文件,将UART2的端口使能配置。
在这里插入图片描述

1.3打开ENV进行设置

在程序目录中打开ENV,输入 menuconfig进入配置,依次进入“Hardware Drivers Config->On-chip Peripheral Drivers->Enable UART”,如图所示使能UART2。
在这里插入图片描述
再进入“RT-Thread Kernel->Kernel Device object”,如图所示将控制台改为串口2
在这里插入图片描述保存退出至命令行输入,输入“scons --target=mdk5”,配置生成新程序。
至此,修改成功。

2.配置串口2

配置过程同上,只是不需要将串口配置为2。其余相同步骤。

四、代码部分

本文使用的代码为官网提供的示例程序,为大家附上链接,可直接参考。
https://www.rt-thread.org/document/site/programming-manual/device/uart/uart/#
把我的代码也打包给各位。
https://download.csdn.net/download/ethan_33/16818707

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值