GPIO工作方式:
4种输入模式:输入浮空;输入上拉;输入下拉;模拟输入
4种输出模式(上拉或下拉):开漏输出;开漏复用功能;推挽式输出;推挽式复用功能
4种输出速度:2MHz;25MHz;50MHz;100MHz
FT5v容忍:标准输入是3.3V,可容忍5V输入
推挽输出:可以输出强高低电平,连接数字器件
开漏输出:只可以输出强低电平,高电平需要外部电阻拉高实现,适合于电流型驱动,吸收电流能力强
每一组GPIO端口配置相关的寄存器
如果配置一个IO口需要两位,那么刚好32位寄存器配置一组IO口16个IO口
如果配置一个IO口需要一位,一般高16位保留
BSRR32位寄存器分高低32位,BSRRL配置IO口的置位状态(1);BSRRH配置IO口的复位状态(0)
GPIO库函数介绍
1个初始化函数
void GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);
2个读取输入电平函数
unit8_t GPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin); //读取某个GPIO的输入,实际操作GPIOx_IDR寄存器
unit16_t GPIO_ReadInputData(GPIO_TypeDef*GPIOx); //读取某组GPIO的输入,实际操作GPIOx_IDR寄存器
2个读取输出电平函数
unit8_t GPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin); //读取某个GPIO的输出,实际操作GPIOx_ODR寄存器
unit16_t GPIO_ReadOutputData(GPIO_TypeDef*GPIOx); <