问题原因:
今天因为上述问题 困扰一天!最后发现是 PB8/9(配置输出)硬件短路了!
问题现象:
STM32F103C8T6 串口3(USART3) 只能发不能收!接收引脚电平是一半电平
问题查找经过:
1、怀疑硬件问题,就仔细查找了串口1-3的硬件,没有任何问题,其他硬件没有查找!折腾好久!确认串口硬件无问题。
2、怀疑软件问题,驱动代码由STM32-CubeMX生成的,怀疑率较低!仔细检查配置没问题。
3、怀疑该芯片该串口3有特殊地方。是不是踩到坑了,查找规格书及网络搜索,网上也有人遇到类似问题,但问题原因各种各样软件,硬件问题都有!但与我的都不符合!
4、最后无奈,重新建立工程配置STM32-CubeMX,只配置串口,测试发现问题解决了!锁定问题是软件问题!按照旧工程项目配置完整后还是有问题!那就锁定其他配置引起的问题!就按部就班一点一点配置,配置到PB8/9引脚为输出时,问题浮现!所以锁定是这两个引脚有问题,仔细检查硬件发现短路了,短路解除,问题解决!这两个引脚是I2C复用功能口与串口3内部电路有关联!
查找问题步骤 方法总结:
1、确认硬件无误!
2、确认软件无误!
3、缩小问题大类,再缩小问题范围。
4、屏蔽其他任何与问题无关的障碍,缩小检查范围!