GPIO

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);

posted on 2020-03-04 12:44  HolaWorld  阅读(284)  评论(0编辑  收藏  举报

导航