weixin_42718387
EtaYang
2019-10-22 18:54
采纳率: 100%
浏览 546

菜鸡求教,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条回答 默认 最新

  • soar3033
    soar3033 2019-10-22 19:44
    已采纳

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

    点赞 评论
  • Cin_Atalaxia
    Cin_Atalaxia 2019-10-23 15:43

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

    点赞 评论
  • dabocaiqq
    dabocaiqq 2019-10-24 00:33
    点赞 评论

相关推荐