//GPIO的初始化函数voidGPIO_DeInit(GPIO_TypeDef*GPIOx);//将外设 GPIOx 寄存器重设为缺省值voidGPIO_AFIODeInit(void);//将复用功能(重映射事件控制和 EXTI 设置)重设为缺省值voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);//处初始化IO端口引脚功能voidGPIO_StructInit(GPIO_InitTypeDef*...
GPIO_TypeDef* GPIOx——其中GPIO_TypeDef*是一个结构体其中具体内容我们不需要进行掌握,是一些GPIO寄存器的封装,而我们只需要关注GPIOx这个的含义是我们对哪一个GPIO进行配置,其中的X我们进行设置,在这里我们可以设置为“A or B or C or D……”具体的使用我们后面用到的时候再进行讲述。 GPIO_InitTypeDef* GPIO...
GPIO结构体是一种用于配置和控制通用输入/输出(General Purpose Input/Output,GPIO)引脚的自定义数据类型。在STM32等微控制器中,GPIO引脚可以通过编程灵活配置为输入、输出或其他特殊功能。为了简化这些配置过程,通常使用结构体来封装相关的配置参数。 2. GPIO结构体中通常包含的字段 GPIO结构体通常包含以下字段,用于指定...
2.void GPIO_Init(GPIO_TypeDef * GPIOx,GPIO_InitTypeDef * GPIO_InitStruct) //请配合上面真值表分析,如果不够直观,请查看GPIOMode_TypeDef结构体的枚举值二进制,我们这里以GPIO_Mode_Out_PP = 0x10推挽输出 (0001 0000)b为例 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) {...
//通过查找 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;//端口位清除寄存...
GPIOA是一个结构体指针,他指向一个地址为GPIOA_BASE的结构体GPIO_TypeDef。其中GPIOA_BASE就是控制这组IO口的寄存器组的基地址,GPIO_TypeDef是一个结构体,里面的成员变量对应着A组IO的相关控制寄存器,如:GPIOA->ODR;GPIOA->IDR;GPIOA->CRL;GPIOA->CRH等等就是控制A组IO口的寄存器,操作GPIO...
GPIOA代表结构体GPIO_TypeDef类型的常量指针,而这个结构体就是PA口的全部寄存器的映射。结构体GPIO_TypeDef共有7个无符号32位整型的分量,对应GPIO一组端口的7个寄存器。 3)宏定义化的位操作 最后,寄存器中的特定bit也有自己的功能和名字。那么,为了提高程序可读性和可操作性,再以“位的名称”对其“位掩码(即第n...
voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct); GPIOx:对应的GPIOx端口,x可以为 (A~G); GPIO_InitStruct:GPIO_InitTypeDef结构体 GPIO_Pin_x:需要配置的对应的脚,x可以为 (0~15); GPIO_Speed:输出模式则需配置,可选为 2MHz、10MHz、50MHz; ...
在GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面调用,比如初始化pa口,就是GPIO_Init (GPIOA, &GPIO_InitStructure),括号里后面那个就是你问题里面声明的那个结构体。结构体 结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的...
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) 1. 参数: GPIOx :其中x可以(A..G取决于所使用的设备)来选择GPIO外设 GPIO_Pin :指定要写入的端口位。此参数可以是GPIO_PIN_x之一,其中x可以是(0..15 )。 例子: HAL_GPIO_TogglePin(GPIOA, DONG_OUT_1_Pin|DONG_OUT_2_Pin);/...