stm32f407 GPIO复用问题

2019-07-21 00:42发布

我想把一个GPIO引脚PA9复用成USART3_RX,而PA9默认复用到USART1_TX,该怎么做?
库函数里只有 GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART3); 我怎么知道它是复用到USART3_RX还是USART3_TX?

况且,有如下定义:
#define GPIO_AF_USART1        ((uint8_t)0x07)  /* USART1 Alternate Function mapping */
#define GPIO_AF_USART2        ((uint8_t)0x07)  /* USART2 Alternate Function mapping */
#define GPIO_AF_USART3        ((uint8_t)0x07)  /* USART3 Alternate Function mapping */
#define GPIO_AF_I2S3ext       ((uint8_t)0x07)  /* I2S3ext Alternate Function mapping */
一个引脚同时复用了4个外设功能?怎么区分?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xuande
1楼-- · 2019-07-21 03:24
复用成USART3_RX?

没这功能,做不到的。
xuande
2楼-- · 2019-07-21 08:02

是F407?PA9可以做USART3_RX,还可以做USART1_TX ?

搞错了吧。




xuande
3楼-- · 2019-07-21 11:36
 精彩回答 2  元偷偷看……
cxt212
4楼-- · 2019-07-21 14:19
回复【2楼】xuande:
---------------------------------
是407,PA9用作特殊功能口的时候是USART1_TX/TIM1_CH2..,我想复用成USART3_RX。
但是指令最多提到USART3,还是1、2、3共同复用,你提到的AF编码相同,那么实现的结果就肯定相同,也就意味着4个外设都连接到了这个IO口。
cxt212
5楼-- · 2019-07-21 20:12
 精彩回答 2  元偷偷看……
xuande
6楼-- · 2019-07-22 01:21
回复【6楼】cxt212:
---------------------------------

GPIO_AF_USART3 = 7 = GPIO_AF_USART1

它仍然执行GPIO_AF_USART1。

一周热门 更多>