感谢大家的发言,问题我自己解决了,重新写了usart3的代码

实现。









实现串口通信,但是在加入串口3后,串口1的功能无法正常工作。
【图片内容】:
【问题出现原因】:问题可能出现的原因包括但不限于以下几点:
【问题解决方案】:为了解决这个问题,您需要检查以下几点:
【提供代码】:由于您提供的信息不足以直接修改代码,我将提供一个基本的串口初始化和中断处理的框架,您可以根据自己的需求进行调整:
// 假设您已经配置了GPIO和NVIC中断
// USART1 初始化
void USART1_Init(void) {
// ... 初始化代码 ...
}
// USART3 初始化
void USART3_Init(void) {
// ... 初始化代码 ...
}
// USART1 中断服务例程
void USART1_IRQHandler(void) {
// ... 中断处理代码 ...
}
// USART3 中断服务例程
void USART3_IRQHandler(void) {
// ... 中断处理代码 ...
}
int main(void) {
// 初始化相关外设
USART1_Init();
USART3_Init();
// ... 其他初始化代码 ...
// 使能中断
// ... 中断使能代码 ...
while (1) {
// 主循环代码
}
}
【代码运行方式】:您需要将上述代码片段整合到您的STM32项目中,并在Keil uVision、STM32CubeIDE或其他支持STM32的IDE中编译和下载到单片机中。
【代码预期运行结果】:如果配置正确,串口1和串口3应该能够独立地发送和接收数据,而不会相互干扰。
【推荐相关链接】: