typedefenum{GPIO_Mode_AIN=0x0,GPIO_Mode_IN_FLOATING=0x04,GPIO_Mode_IPD=0x28,GPIO_Mode_IPU=0x48,GPIO_Mode_Out_OD=0x14,GPIO_Mode_Out_PP=0x10,GPIO_Mode_AF_OD=0x1C,GPIO_Mode_AF_PP=0x18}GPIOMode_TypeDef; 由输入和输出两大类可
typedef struct { uint32_t GPIO_Pin; // GPIO引脚编号,可以是单个引脚或者多个引脚的组合,如 GPIO_Pin_0 | GPIO_Pin_1 GPIOMode_TypeDef Mode; // GPIO引脚的工作模式,包括输入模式、输出模式、复用模式等 GPIOSpeed_TypeDef Speed; // GPIO引脚的输出速率,通常有低速、中速、高速可选 ...
#include "stm32f4xx_hal.h" // 定义一个指向GPIOA的指针 GPIO_TypeDef* GPIOA_PTR = GPIOA; void GPIO_Config(void) { // 定义一个GPIO初始化结构体 GPIO_InitTypeDef GPIO_InitStruct = {0}; // 使能GPIOA时钟 __HAL_RCC_GPIOA_CLK_ENABLE(); // 配置PA5引脚为推挽输出模式,速度为高速,无上...
typedef struct{uint16_t GPIO_Pin; // 用于选择待初始化的IO口引脚。GPIOSpeed_TypeDef GPIO_Speed; // 设置IO口的输出速度。GPIOMode_TypeDef GPIO_Mode; // 设置IO口的工作模式,提供8种选择。} GPIO_InitTypeDef;其中,GPIO_Pin参数可以设置为无引脚被选中(GPIO_Pin_None)、选中特定引脚(如GPIO_Pin_n...
GPIO_Mode_Out_OD = 0x14, GPIO_Mode_Out_PP = 0x10, GPIO_Mode_AF_OD = 0x1C, GPIO_Mode_AF_PP = 0x18 }GPIOMode_TypeDef; 上面因为是英文,不甚清晰,下面下面翻译一下: typedefenum { GPIO_Mode_AIN = 0x0,/* 模拟输入 */ GPIO_Mode_IN_FLOATING = 0x04,/* 浮空输入,复位后的状态 */ ...
GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; }GPIO_InitTypeDef; GPIO_InitTypeDef的第一个变量为GPIO_Pin是一个16为的无符号数,该数只有16位,每一位代表一个引脚,若要配置某一个端口的某一个引脚只需要把相应的位设置为1就可以了。在STM32的固件库中有如下引脚号定义: ...
GPIO_Mode_IN =0x00,//普通IO口输入GPIO_Mode_OUT =0x01,//普通IO口输出GPIO_Mode_AF =0x02,//管脚复用功能GPIO_Mode_AN =0x03//模拟输入,用于ADC功能}GPIOMode_TypeDef; (c)、GPIO的输出速度频率:当GPIO引脚用于普通功能输出或复用功能输出时,GPIO的输出速度频率,可选的输出速率如下。
typedef enum { GPIO_Mode_IN = 0x00, //普通IO口输入 GPIO_Mode_OUT = 0x01, //普通IO口输出 GPIO_Mode_AF = 0x02, //管脚复用功能 GPIO_Mode_AN = 0x03 //模拟输入,用于ADC功能 }GPIOMode_TypeDef; 1. 2. 3. 4. 5. 6. 7.
}GPIOMode_TypeDef; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 2. 设置 IO(库函数) 每个IO 口可以自由编程, 但 IO 口寄存器必须要按 32 位字被访问。 2.1 GPIO 初始化函数 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); ...
TypeDef*GPIOx,uint16_t GPIO_Pin);//写引脚函数voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin,GPIO_PinState PinState);//翻转引脚函数voidHAL_GPIO_TogglePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin);//锁定引脚函数HAL_StatusTypeDefHAL_GPIO_LockPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_...