STM32基本上每个引脚都有8种配置模式:
1)浮空输入
2)带弱上拉输入
3)带弱下拉输入
4)模拟输入
5)推挽输出
6)开漏输出
7)复用推挽输出
8)复用开漏输出
通常有5种方式使用某个引脚功能,它们的配置方式如下:
1)作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。
2)作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。
3)作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。
4)作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。
5)作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。
注意如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。
stm32复位后,IO端口处于输入浮空状态.
JTAG引脚复位以后,处于上拉或者下拉状态.
所有IO端口都具有外部中断能力,端口必须配置成输入模式,才能使用外部中断功能.
IO端口复用功能配置:
对于复用功能输入,端口可以配置成任意输入模式或者复用功能输出模式.
对于复用功能输出,端口必须配置成复用功能输出
对于双向复用功能,端口必须配置成复用功能输出
stm32的部分IO端口的复用功能可以重新映射成另外的复用功能.
stm32具有GPIO锁定机制,即锁定GPIO配置,下次复位前不能再修改.
当LSE振荡器关闭时,OSC32_IN和OSC32_OUT可以用作通用IO PC14和PC15.
当进入待机模式或者备份域由Vbat供电,PC14,PC15功能丢失,该两个IO口线设置为模拟输入功能.
OSC_IN和OSC_OUT可以重新映射为GPIO PD0,PD1.
注意PD0,PD1用于输出地时候仅能用于50MHz输出模式.
注意:PC13,PC14,PC15只能用于2MHz的输出模式,,最多只能带30pf的负载,并且同时只能使用一个引脚!!!!!!!!
|