![在这里插入图片描述](https://img-blog.csdnimg.cn/48bb849cc05e4963aa34af41bbf54794.png)
GPIO主要的配置步骤包括四个。
这是HAL库函数,下面就说明如何配置时钟
1.定义时钟
首先我们需要找到GPIO源码,按照这三个步骤便能找到源码
1.定义时钟的宏
2.定义一个宏,前或等于后
3. F1时钟寄存器
4. 开启时钟的宏
这里的意思是1左移两位,开启A时钟
这里就定义一个宏,并且可以开启时钟A。
2.定义工作模式
1. GPIO_TypeDef结构体,定义七个寄存器
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
2. 把结构体GPIO_TypeDef的地址转入GPIOA—G
3. 设置一个GPIO_InitTypeDef结构体
4. 工作模式设置
3.设置输出模式
1. 设置工作模式
2. 设置引脚
3. 枚举类型0/1状态
下面举个例子设置PB10=1
GPIO_TypeDef* GPIOB, uint16_t GPIO_Pin_10, 1
HAL_GPIO_TogglePin设置方法
1.设置工作模式
2. 设置引脚
下面举个例子设置PAO翻转
GPIO_TypeDef* GPIOA, uint16_t GPIO_Pin_0
HAL_GPIO_ReadPin设置方法
1.返回值,0/1高低电平
2. 时钟初始化,寄存器基地址
3. 设置引脚
下面举个例子查询PCO的状态
GPIO_TypeDef* GPIOC, uint16_t GPIO_Pin_0