[STM32F4] stm32f4串口通信实验的PA9 PA10模式设置问题

[复制链接]
2124|12
 楼主| 两只袜子 发表于 2024-10-31 12:57 | 显示全部楼层 |阅读模式
这一段是示例代码中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; //复用为 USART1
HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化 PA9


GPIO_Initure.Pin=GPIO_PIN_10;//PA10
HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化 PA10,此处没有对结构体中Mode进行改动,仍然是GPIO_MODE_AF_PP;//复用推挽输出


初始化PA10时也是设置成了 GPIO_MODE_AF_PP,复用的推挽输出模式,这里PA10为数据输入口为啥会设为输出模式呢?
一秒落纱 发表于 2024-12-9 22:25 | 显示全部楼层
PA10不是接收吗,不是串口的接收吗
三生万物 发表于 2024-12-10 02:00 | 显示全部楼层
这个看你像怎么设置呗,你是像当个普通的串口通讯吗?

淡漠安然 发表于 2024-12-10 03:00 | 显示全部楼层
STM32GPIO配置中,PA9PA10通常用于USART1TX(发送)和RX(接收)引脚

江河千里 发表于 2024-12-10 04:00 | 显示全部楼层
根据你的配置,PA9被配置为复用推挽输出模式(GPIO_MODE_AF_PP),用于USART1TX功能,这是正确的。然而,PA10也被配置为复用推挽输出模式(GPIO_MODE_AF_PP),这通常是用于输出引脚的配置,而不是输入引脚

夜阑风雨 发表于 2024-12-10 05:00 | 显示全部楼层
PA10作为USART1RX引脚,应该被配置为输入模式,而不是输出模式。如果PA10被错误地配置为输出模式,可能会导致USART1的接收功能无法正常工作

远山寻你 发表于 2024-12-10 06:00 | 显示全部楼层
PA10应该被配置为复用开漏输入模式(GPIO_MODE_AF_INPUT)或复用推挽输入模式(GPIO_MODE_AF_PP),具体取决于USART1的配置。通常情况下,复用开漏输入模式(GPIO_MODE_AF_INPUT)是更常见的选择

光辉梦境 发表于 2024-12-10 07:00 | 显示全部楼层
确保PA10被正确配置为输入模式,以保证USART1的接收功能正常工作。通过修改PA10的配置为复用开漏输入模式(GPIO_MODE_AF_INPUT),可以解决这个问题

暖了夏天蓝了海 发表于 2024-12-10 08:00 | 显示全部楼层
可能例程就这么写的吧,其实初始化啥都是可以的,应该

别乱了阵脚 发表于 2024-12-10 09:00 | 显示全部楼层
一般来说,可以设置成输出,然后再配置成输入就可以了

冰春彩落下 发表于 2024-12-10 10:00 | 显示全部楼层
我也没这么配置过,一般都是配置一个输出一个输入

AloneKaven 发表于 2024-12-10 12:47 | 显示全部楼层
这个设置起来应该是无所谓的吧?
caoenq 发表于 2024-12-10 13:58 | 显示全部楼层
远山寻你 发表于 2024-12-10 06:00
PA10应该被配置为复用开漏输入模式(GPIO_MODE_AF_INPUT)或复用推挽输入模式(GPIO_MODE_AF_PP),具体取 ...

STM32的IO口只有8种功能可配置:上拉输入、下拉输入、浮空输入、模拟输入、推挽输出、开漏输出,复用推挽输出、复用开漏输出。没有“复用推挽输入模式”
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部