如何解决STM32 USART3无法发送数据的问题

调试串口3,一直使用串口1,突然要使用串口3。年轻觉得掉个库的事,简单321,正点原子usart.c、usart.h。粘贴复制,初始化 ,printf("niubi"); 然后打开SSCOM……..没用任何反应。百度说需要勾选Use Micro LIB

复位,没卵用。。

继续百度。。。。。

下载别人的代码,啥用没用

所以只能自己看数据手册,我使用的是内部晶振,怀疑时钟配置不准确,但是串口应该是乱码,我的PC啥也没有。死马当活马医吧,一顿折腾,主频168hz,apb1 48hz。没用。。。

继续查,发现RX接受数据 TX发送数据,应该是mcu自己控制电平。RX接受数据应该mcu接受外部的电平。TX需要选复用推挽输出模式 RX需要选浮空输入或上拉输入。没用。。

于是怀疑硬件有问题??镊子短接TX,RX,发送123,接受123。硬件没问题。崩了,摆吧,,,

终于,在一个雷雨交加的晚上,还是打开代码,查看原理图

嗯?管脚复用?重映射?关键我也不懂啊,具体自己行百度。发现问题,stm32F407 USART3 是PB10 PB11。我用的是PD9 PD8 。。。。设置引脚复用。。欧克解决问题

作者:温柔的人988

物联沃分享整理
物联沃-IOTWORD物联网 » 如何解决STM32 USART3无法发送数据的问题

发表回复