菜鸡求教,stm32f7做串口通信时,串口复用PA9改成其他口之后就失效了?

本菜鸡在改串口通信小实验的时候,遇到了一个问题。
就是下面这段串口复用程序:

GPIO_Initure.Pin=GPIO_PIN_9;
GPIO_Initure.Mode=GPIO_MODE_AF_PP;
GPIO_Initure.Pull=GPIO_PULLUP;
GPIO_Initure.Speed=GPIO_SPEED_FAST;
GPIO_Initure.Alternate=GPIO_AF7_USART1;        
HAL_GPIO_Init(GPIOA,&GPIO_Initure);        
GPIO_Initure.Pin=GPIO_PIN_10;        
HAL_GPIO_Init(GPIOA,&GPIO_Initure);   

这段程序本菜鸡想把发送口的GPIO_PIN_9改成GPIO_PIN_5,或者GPIO_PIN_5|GPIO_PIN_9,但5口都没有用,不知道为啥,求教!

3个回答

并不是每一个引脚都是串口啊。你可以看看手册里uart的引脚定义。你这用的是库函数编程,要是你用寄存器方式编程的话会发现,所谓配置串口就是向特定的寄存器输入特定的输入。并且每一个复用功能,比如uart、spi、adc都是对应特殊引脚的。不是说你想随意改就可以的。如果你对引脚不熟,可以用STCube进行引脚配置,STCube还可以帮助你进行初始化。

weixin_42718387
EtaYang 已采纳,感谢。
7 个月之前 回复

哪个pin脚可以复用为usart是固定的,可以在使用手册中看到。初学STM32时间多的话推荐用寄存器版本哦,当然库函数版本入手快

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐