STM32 GPIO库函数使用指南

单片机学习

目录

一、函数 GPIO_Init

1.1 函数介绍

1.2 GPIO_InitTypeDef 结构体

1.2.1 GPIO_Pin

1.2.2 GPIO_Speed

1.2.3 GPIO_Mode

1.3 函数使用示例

二、函数 GPIO_SetBits

2.1 函数介绍

2.2 函数使用示例

三、函数 GPIO_ResetBits

3.1 函数介绍

3.2 函数使用示例

四、函数 GPIO_WriteBit

4.1 函数介绍

4.2 函数使用示例

五、函数 GPIO_Write

5.1 函数介绍

5.2 函数使用示例

六、函数GPIO_ReadInputDataBit

6.1 函数介绍

6.2 函数使用示例

七、函数GPIO_ReadInputData

7.1 函数介绍

7.2 函数使用示例

八、函数GPIO_ReadOutputDataBit

8.1 函数介绍

8.2 函数使用示例

九、函数 GPIO_ReadOutputData

9.1 函数介绍

9.2 函数使用示例

总结



一、函数 GPIO_Init

        函数 GPIO_Init 可以初始化配置 A、B、C、D、E 端口的任意一个I/O口的输入输出。

1.1 函数介绍

1.2 GPIO_InitTypeDef 结构体

GPIO_InitTypeDef 结构体定义:

typedef struct
{
  uint16_t GPIO_Pin;             /*!< Specifies the GPIO pins to be configured.
                                      This parameter can be any value of @ref GPIO_pins_define */

  GPIOSpeed_TypeDef GPIO_Speed;  /*!< Specifies the speed for the selected pins.
                                      This parameter can be a value of @ref GPIOSpeed_TypeDef */

  GPIOMode_TypeDef GPIO_Mode;    /*!< Specifies the operating mode for the selected pins.
                                      This parameter can be a value of @ref GPIOMode_TypeDef */
}GPIO_InitTypeDef;

1.2.1 GPIO_Pin

        GPIO_Pin用于选择待设置的GPIO引脚号,使用操作符 | 可以一次选中多个引脚。

1.2.2 GPIO_Speed

        GPIO_Speed用于设置选中引脚的速率。

1.2.3 GPIO_Mode

        GPIO_Mode用于设置选中引脚的工作状态。

1.3 函数使用示例

GPIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//设置引脚工作状态为推挽输出
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_All;//选中全部引脚
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;//选中引脚最高速率50MHz
	GPIO_Init(GPIOA,&GPIO_InitStruct);

二、函数 GPIO_SetBits

        函数 GPIO_SetBits 可设置所选定的端口位为高电平。

2.1 函数介绍

2.2 函数使用示例

GPIO_SetBits(GPIOA,GPIO_Pin_0);//GPIOA外设的0号引脚设为高电平

三、函数 GPIO_ResetBits

        函数 GPIO_ResetBits 可设置所选定的端口位为低电平。

3.1 函数介绍

3.2 函数使用示例

GPIO_ResetBits(GPIOA,GPIO_Pin_0);//GPIOA外设的0号引脚设为高电平

四、函数 GPIO_WriteBit

        函数 GPIO_WriteBit 可设置或清除所选定端口的特定位。

4.1 函数介绍

4.2 函数使用示例

GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//设为低电平

GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//设为高电平
GPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)0);//设为低电平

GPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)1);//设为高电平

五、函数 GPIO_Write

        函数 GPIO_Write 可向指定的外设端口写入数据。

5.1 函数介绍

PortVal:待写入端口数据寄存器的值,值为16进制。

5.2 函数使用示例

GPIO_Write(GPIOA,0x0001);

六、函数GPIO_ReadInputDataBit

6.1 函数介绍

        函数 GPIO_ReadInputDataBit 用于读取输入数据寄存器中指定外设端口的指定引脚的输入值。

        返回值 unit8_t 代表这个端口高低电平

6.2 函数使用示例

GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1);

七、函数GPIO_ReadInputData

7.1 函数介绍

        函数 GPIO_ReadInputData 用来读取整个输入数据寄存器中指定外设端口输入的值。

        返回值 uint16_t 是一个16位的数据,每一位代表一个端口值。

7.2 函数使用示例

GPIO_ReadInputData(GPIOA);

八、函数GPIO_ReadOutputDataBit

8.1 函数介绍

        函数 GPIO_ReadOutputDataBit 用来读取输出数据寄存器中指定外设端口的指定引脚的输出值。这个函数一般用于输出模式下,用来查看输出的是什么。

8.2 函数使用示例

GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_1);

九、函数 GPIO_ReadOutputData

9.1 函数介绍

        函数 GPIO_ReadOutputData 用于读取整个输出寄存器指定外设端口的输出值。

9.2 函数使用示例

GPIO_ReadOutputData(GPIOA);

        函数的功能可以对照我前面的内容GPIO位结构一起分析。STM32 GPIO-CSDN博客


总结

        以上就是今天要讲的内容,本文仅仅简单介绍了GPIO常用函数的使用。

作者:Echo_cy_

物联沃分享整理
物联沃-IOTWORD物联网 » STM32 GPIO库函数使用指南

发表评论