GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。
1,GPIO的输入模式(四种)
1.输入浮空模式(GPIO_Mode_IN_FLOATING):CPU 可以读取到外部的高低电平,输入的高低是不确定的完全由外部输入决定。(一般按键就是采用浮空输入)
2.输入上拉模式(GPIO_Mode_IPU):就是在无信号状态默认是高电平,当我们输入的低电平是有效控制信号就使用此模式。
3.输入下拉模式(GPIO_Mode_IPD):就是在无信号状态默认是低电平,当我们输入的高电平是有效控制信号就使用此模式。
4.输入模拟模式(GPIO_Mode_AIN):输入的是模拟量,将其传送给片上外设,用于A/D转换,可以采集外部电压具体值(可用于ADC)
2,GPIO的输出模式(四种)
5.开漏输出模式(GPIO_Mode_Out_OD):当输出为1时N-MOS是截止的,所以高电平就由外部的上拉电阻来决定,也就是由外部电源来决定。当输出为0时N-MOS是导通的,输出的也就是低电平。此模式的好处就在于可以多个信号线连接在一起,只有总线上的所有信号都为高电平时,总线才为高电平,只要有一个为低电平,总线就为低电平。
6.开漏复用输出模式(GPIO_Mode_AF_OD):与开漏输出模式原理相同,只是开漏输出模式的输出是由cpu写寄存器得来的,而开漏复用输出模式的输出是由片上外设决定的。