打印
[STM32F1]

STM32 IO复用求助

[复制链接]
1087|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
colibri|  楼主 | 2014-7-16 17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 colibri 于 2014-7-16 17:15 编辑

被搞晕了,查了很多资料也说不清。求助。
比如这个表里
PC10
I/O
FT
PC10
UART4_TX
USART3_TX/
    SPI3_SCK/
    I2S3_CK
PC11
I/O
FT
PC11
UART4_RX
USART3_RX/
    SPI3_MISO
PC12
I/O
FT
PC12
UART5_TX
USART3_CK/  
    SPI3_MOSI/
    I2S3_SD

上电之后默认pc10\11\12就是gpio了,
而在启动复用之后,如下图,那么pc10= uart4tx, pc11=uart4rx,此时我还能不能仍然把pc12当作gpio用?
PC10
I/O
FT
PC10
UART4_TX
USART3_TX/
SPI3_SCK/
I2S3_CK
PC11
I/O
FT
PC11
UART4_RX
USART3_RX/
SPI3_MISO
PC12
I/O
FT
PC12
UART5_TX
USART3_CK/
SPI3_MOSI/
I2S3_SD

假如remap了I2S3,如下图,那么我能不能还把pc11当作gpio用?
PC10
I/O
FT
PC10
UART4_TX
USART3_TX/
SPI3_SCK/
I2S3_CK
PC11
I/O
FT
PC11
UART4_RX
USART3_RX/
SPI3_MISO
PC12
I/O
FT
PC12
UART5_TX
USART3_CK/
SPI3_MOSI/
I2S3_SD




每个引脚可能有多个功能,1 默认功能,2 复用功能  3 remap功能
使能某组gpio的复用后,还能否可以使用默认功能
使能某模块的remap后,相关io还可以使用默认功能和复用功能吗?三种功能是互斥的还是累加的?



沙发
mmuuss586| | 2014-7-16 18:38 | 只看该作者
大部分默认就是普通的IO;
你要用到UART等,就设置成UART,就不能当普通的IO使用了;

使用特权

评论回复
板凳
colibri|  楼主 | 2014-7-17 10:45 | 只看该作者
本帖最后由 colibri 于 2014-7-17 10:47 编辑

谢谢版主。
我的疑惑是复用功能是通过一个函数操作的   
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
比如这里为了把pc11\pc10给uart4使用会使能RCC_APB2Periph_AFIO复用,那么和uart4不相干的pc12此时是只能做为gpio用,还是只能uart5 tx用?或者用户可以选用?
还有就是启动RCC_APB2Periph_AFIO复用后,但是我没有配置uart4,那么pc10\pc11是不是还可以当作gpio用?

使用特权

评论回复
地板
cool_coder| | 2014-7-17 14:59 | 只看该作者
本帖最后由 cool_coder 于 2014-7-17 15:02 编辑

AFIO是逐个引脚配置的,不影响不相干的其它引脚(比如你提到的PC12,它可以自由选用包括GPIO在内的各种复用功能)。如果设置了相应引脚的AFIO,它就不能当作GPIO使用了,内部已经切换连接到相应的设备(比如UART4)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

64

帖子

0

粉丝