STM32F103C8T6 串口3(USART3) 只能发不能收

问题原因:

今天因为上述问题 困扰一天!最后发现是 PB8/9(配置输出)硬件短路了!

        

问题现象:

STM32F103C8T6 串口3(USART3) 只能发不能收!接收引脚电平是一半电平

问题查找经过:

1、怀疑硬件问题,就仔细查找了串口1-3的硬件,没有任何问题,其他硬件没有查找!折腾好久!确认串口硬件无问题。

2、怀疑软件问题,驱动代码由STM32-CubeMX生成的,怀疑率较低!仔细检查配置没问题。

3、怀疑该芯片该串口3有特殊地方。是不是踩到坑了,查找规格书及网络搜索,网上也有人遇到类似问题,但问题原因各种各样软件,硬件问题都有!但与我的都不符合!

4、最后无奈,重新建立工程配置STM32-CubeMX,只配置串口,测试发现问题解决了!锁定问题是软件问题!按照旧工程项目配置完整后还是有问题!那就锁定其他配置引起的问题!就按部就班一点一点配置,配置到PB8/9引脚为输出时,问题浮现!所以锁定是这两个引脚有问题,仔细检查硬件发现短路了,短路解除,问题解决!这两个引脚是I2C复用功能口与串口3内部电路有关联!

查找总结:

1、确认硬件无误!

2、确认软件无误!

3、缩小问题大类,再缩小问题范围。

4、屏蔽其他任何与问题无关的障碍,缩小检查范围!

版权声明:本文为CSDN博主「匠在江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46672094/article/details/122512358

匠在江湖

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

【STM32Cube笔记】12-配置外部中断

【STM32Cube笔记】系列文章目录 1-基于STM32的VSCode入门级教程前言 2-STM32Cube安装教程 3-STM32CubeIDE汉化 4-STM32Cube配置时钟设置 5-跑马灯引脚配置 6-Cortex-M7内核基本配

stm32cubemx+HAL+串口接收中断

stm32cubemxHAL串口接收中断 在cubemx配置完串口和global interrupt后需要在keil中添加如下代码。 第一步:在main函数中添加接收中断标志位开启函数 HAL_UART_Receive_IT