OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5207|回复: 2

关于串口初始化GPIO模式设置

[复制链接]

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2016-6-10
在线时间
18 小时
发表于 2016-12-18 13:46:14 | 显示全部楼层 |阅读模式
最近在调试esp8266模块,把原来在stm32f103上使用的程序移植到兼容stm32f429。在串口初始化程序中发现了一些不同,有以下疑惑:在stm32f103模板程序中关于串口GPIO模式设置的一段历程如下,
        //USART1_TX   GPIOA.9
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //推挽输出模式
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  //USART1_RX          GPIOA.10
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;// 浮点输入模式
  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化PA10


而在stm32f429的串口初始化中,对于GPIO模式设置的历程如下,
                GPIO_Initure.Pin=GPIO_PIN_9;                        //PA9
                GPIO_Initure.Mode=GPIO_MODE_AF_PP;                //推挽输出模式
                GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
                GPIO_Initure.Speed=GPIO_SPEED_FAST;                //高速
                GPIO_Initure.Alternate=GPIO_AF7_USART1;        //复用为串口1
                HAL_GPIO_Init(GPIOA,&GPIO_Initure);                   //初始化GPIOA9

                GPIO_Initure.Pin=GPIO_PIN_10;                        //PA10
                HAL_GPIO_Init(GPIOA,&GPIO_Initure);                   //初始化GPIOA10

这里的异同点是在stm32f103例程中PA10设置为浮点输入模式,而在stm32f429中设置为推挽输出模式。
疑惑在于:PA10 作为USART1_RX设置为推挽输出模式为什么也可以?相反设置为浮点输入模式反而不能正常工作?GPIO输出模式怎么可以触发串口接收中断?


希望遇到过同样问题的前辈能够给予解惑,也希望没有解决这类疑惑的人可以和我一起讨论。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-5-11
在线时间
16 小时
发表于 2019-7-12 13:40:01 | 显示全部楼层
同问,这个是问什么鸭
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2021-7-7
在线时间
2 小时
发表于 2021-7-7 14:41:47 | 显示全部楼层
我也遇到这个问题了,请问楼主弄懂了吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 11:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表