单片机学习
目录
一、函数 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 可以初始化配置 A、B、C、D、E 端口的任意一个I/O口的输入输出。
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;
GPIO_Pin用于选择待设置的GPIO引脚号,使用操作符 | 可以一次选中多个引脚。
GPIO_Speed用于设置选中引脚的速率。
GPIO_Mode用于设置选中引脚的工作状态。
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(GPIOA,GPIO_Pin_0);//GPIOA外设的0号引脚设为高电平
函数 GPIO_ResetBits 可设置所选定的端口位为低电平。
GPIO_ResetBits(GPIOA,GPIO_Pin_0);//GPIOA外设的0号引脚设为高电平
函数 GPIO_WriteBit 可设置或清除所选定端口的特定位。
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 可向指定的外设端口写入数据。
PortVal:待写入端口数据寄存器的值,值为16进制。
GPIO_Write(GPIOA,0x0001);
函数 GPIO_ReadInputDataBit 用于读取输入数据寄存器中指定外设端口的指定引脚的输入值。
返回值 unit8_t 代表这个端口高低电平
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1);
函数 GPIO_ReadInputData 用来读取整个输入数据寄存器中指定外设端口输入的值。
返回值 uint16_t 是一个16位的数据,每一位代表一个端口值。
GPIO_ReadInputData(GPIOA);
函数 GPIO_ReadOutputDataBit 用来读取输出数据寄存器中指定外设端口的指定引脚的输出值。这个函数一般用于输出模式下,用来查看输出的是什么。
GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_1);
函数 GPIO_ReadOutputData 用于读取整个输出寄存器指定外设端口的输出值。
GPIO_ReadOutputData(GPIOA);
函数的功能可以对照我前面的内容GPIO位结构一起分析。STM32 GPIO-CSDN博客
以上就是今天要讲的内容,本文仅仅简单介绍了GPIO常用函数的使用。