嵌入式技术william hill官网
直播中

王凯

7年用户 1287经验值
私信 关注
[经验]

RT-Thread UART1串口中断无法进入该如何解决呢

一、遇到的困难(UART1串口中断无法进入)
在调试串口的时候,一直使用的是系统的FinSH控制台做为串口输出,于是想使用另一个串口来进行其他命令的输入。但是在实际的配置过程中,发现定义了UART1之后,却一直无法进入串口中断。而在使用命令行后,串口也可以进入中断。
二、发现问题
之后发帖求助后,才得知,通常情况下UART1会在新建工程的时候用作FinSH控制台的输出。也就是UART1已经被系统使用了,所以再重新配置会导致程序出错。
三、解决问题
通过以上的分析,解决方法也很明了了:
方法1、将系统的FinSH控制器改为UART2输出;
方法2、将自己使用的串口改为UART2。
1.修改FinSH
1.1配置STM32CubeMX
进入目录“.boardCubeMX_Config”找到CubeMX的配置文件,将UART2的端口使能配置。
1.jpg
1.2修改Kconfig文件
进入目录“.board,找到Kconfig的配置文件,将UART2的端口使能配置。
1.jpg
1.3打开ENV进行设置
在程序目录中打开ENV,输入 menuconfig进入配置,依次进入“Hardware Drivers Config->On-chip Peripheral Drivers->Enable UART”,如图所示使能UART2。
1.jpg
再进入“RT-Thread Kernel->Kernel Device object”,如图所示将控制台改为串口2
1.jpg
保存退出至命令行输入,输入“scons --target=mdk5”,配置生成新程序。
至此,修改成功。
2.配置串口2
配置过程同上,只是不需要将串口配置为2。其余相同步骤。

原作者:绵绵呀。


更多回帖

发帖
×
20
完善资料,
赚取积分