STM32F4xx的GPIOA.9和GPIOA.10口配制成复用串口功能时,两个IO口都配置成了复用推挽上拉输出,但RX是输入啊?

2019-07-20 15:55发布

STM32F4xx的GPIOA.9和GPIOA.10口配制成复用串口功能时,怎么知道哪个IO口是输入输出的?
GPIO_InitStruct.GPIO_Pin= GPIO_Pin_9;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF;    
GPIO_InitStruct.GPIO_Speed=GPIO_Fast_Speed;   
GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;   
GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP;     
GPIO_Init(GPIOA,&GPIO_InitStruct);


GPIO_InitStruct.GPIO_Pin= GPIO_Pin_10;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF; 
GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP;   
GPIO_Init(GPIOA,&GPIO_InitStruct);

GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
正点原子
1楼-- · 2019-07-20 17:28
木有问题的。
FantaSy_
2楼-- · 2019-07-20 22:07
 精彩回答 2  元偷偷看……
3楼-- · 2019-07-21 00:49
 精彩回答 2  元偷偷看……
a1154870074
4楼-- · 2019-07-21 04:11
回复【4楼】静:
---------------------------------
手册上确实是这样,因为USART1复用的时候,TX自动接PA.9的复用功能输出,RX自动接PA.10的复用功能输入。虽然都配制成输出了,但输入还是有效的
a1154870074
5楼-- · 2019-07-21 07:48
回复【4楼】静:
---------------------------------
今天,用IO口模拟IIC,都配置成输出,SDA接的GPIOB.7不是输出的时候输入能用嘛。但就是不能用。还得输入的时候配输入,输出的时候配输出,这就糊涂了。求大神指导
a1154870074
6楼-- · 2019-07-21 09:44
回复【6楼】a1154870074:
---------------------------------
STM32F4xx的手册写的不详细,看了一下stm32f103的手册,根据stm32f103手册描述把接SDA的GPIOB.7配制成输出是可以得到IO口状态的。stm32f103手册描述如下:开漏模式时对输入数据寄存器的读访问可得到IO状态。记得要上拉

一周热门 更多>