STM32 GPIO复用

来源:互联网 发布:python吊死鬼游戏 编辑:程序博客网 时间:2024/06/04 18:31

 STM32所有内置外设的外部引脚都是与标准GPIO引脚复用的,例如对于STM32F103VBT6,47引脚为PB10,它的复用功能是I2C2_SCL和USART3_TX,表示在上电之后它的默认功能为PB10,而I2C2的SCL和USART3的TX为它的复用功能;另外在TIM2的引脚重映射后,TIM2_CH3也成为这个引脚的复用功能。STM32基本上每个引脚都有8种配置模式:

1)浮空输入

2)带弱上拉输入

3)带弱下拉输入

4)模拟输入

5)推挽输出

6)开漏输出

7)复用推挽输出

8)复用开漏输出

通常有5种方式使用某个引脚功能,它们的配置方式如下:1)作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。2)作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。3)作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。4)作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。5)作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。注意如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。--------------------------------------------------------------------------------比如要使用STM32F103VBT6的47、48脚的USART3功能,则需要配置47脚为复用推挽输出或复用开漏输出,配置48脚为某种输入模式,同时使能USART3并保持I2C2的非使能状态。如果要使用STM32F103VBT6的47脚作为TIM2_CH3,则需要对TIM2进行重映射,然后再按复用功能的方式配置对应引脚。

原创粉丝点击