General-purpose input/output,通用输入输出
4种输入模式:
- 输入浮空
- 输入上拉
- 输入下拉
- 模拟输入
4种输出模式:
- 开漏输出(带上拉或者下拉)
- 开漏复用功能(带上拉或者下拉)
- 推挽式输出(带上拉或者下拉)
- 推挽式复用功能(带上拉或者下拉)
4种最大输出速度:
- 2MHZ
- 25MHz
- 50MHz
- 100MHz
8种工作模式:
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出
10个寄存器:
GPIO库函数:
1个初始化函数:
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
GPIO_Init(GPIOF, &GPIO_InitStructure);
2个读取输入电平函数:
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_9);
GPIO_ReadInputData(GPIOF);
2个读取输出电平函数:
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
GPIO_ReadOutputDataBit(GPIOF, GPIO_Pin_9);
GPIO_ReadOutputData(GPIOF);
4个设置输出电平函数:
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
GPIO_SetBits(GPIOF, GPIO_Pin_9);
GPIO_ResetBits(GPIOF, GPIO_Pin_9);GPIO_WriteBit(GPIOF, GPIO_Pin_9,BitVal);
GPIO_Write(GPIOF,PortVal);