首先,将 LED4_Pin 赋值给 GPIO_InitStruct.Pin,然后将模式设置为输出模式(GPIO_MODE_OUTPUT_PP),无上下拉(GPIO_NOPULL),低速(GPIO_SPEED_FREQ_LOW)。最后,通过调用 HAL_GPIO_Init 函数,将配置应用到 LED4_GPIO_Port 上。 总结一下,以上代码的主要功...
* `GPIO_Pin`:要初始化的引脚编号,通常为0-15。 * `GPIO_InitStruct`:一个包含初始化参数的结构体,包括输出模式、上拉/下拉电阻、引脚速度等。 函数功能: *根据指定的参数初始化指定的GPIO引脚。 函数实现: `GPIO_Init`函数首先检查引脚是否已经被初始化,如果没有,则进行初始化。初始化步骤包括配置寄存器、设...
1 void GPIO_Init(GPIO_TypeDef*GPIOx, GPIO_InitTypeDef*GPIO_InitStruct); 功能描述: 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 输入参数1:GPIOx//GPIOx:x 可以是 A,B,C,D 或者 E,来选择 GPIO 外设 输入参数2:GPIO_InitStruct//GPIO_InitStruct:指向结构 GPIO_InitTypeDef 的指针,包含了外...
GPIO_Init函数是IO引脚的初始化函数,进行个个引脚的初始化配置,主要接受两个参数,一个是配置引脚组(GPIO_TypeDef* GPIOx),一个是配置的参数( GPIO_InitTypeDef* GPIO_InitStruct),具体如下 voidGPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef*GPIO_InitStruct)/*其中第一个参数为那组引脚,每组拥有16个引脚,...
学习STM32时,首先要熟悉流水灯例程,在这里就来分析流水灯中的GPIO_Init()函数 例如:流水灯例程中使用的端口是macLED1_GPIO_PORT=GPIOB, 控制的引脚是GPIO_Pin_0, 引脚的模式是GPIO_Mode_Out_PP(通用推挽输出), 引脚的速率是GPIO_Speed_50MHz, 用到的寄存器
2、函数GPIO_Init /* 函数名:GPIO_Init 函数原型:void GPIO_Init(GPIO_TypeDef * GPIOx,GPIO_InitTypeDef * GPIO_InitStruct) 功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 输入参数1:GPIOx *---* 用来选择GPIO外设,x取: A B C D E *---* 输入参数2:GPIO...
GPIO_InitStruct.Mode=GPIO_Mode_IN;// 输入模式GPIO_InitStruct.Mode=GPIO_Mode_OUT;// 输出模式GPIO_InitStruct.Mode=GPIO_Mode_AF;//复用模式 如果是输出模式,还需要选择引脚的类型,通常有推挽输出和开漏输出两种类型。 GPIO_InitStruct.Mode=GPIO_Mode_OUT;// 输出模式GPIO_InitStruct.Mode=GPIO_Mode_Out...
是GPIO_Pin_0换算成32位的16进制是:0x000000012)引脚的模式是GPIO_Mode_Out_PP(通用推挽输出)换算成32位的16进制是:0x000000103)引脚的速率是GPIO_Speed_50MHz换算成32位的16进制是:0x00000003然后调用库函数GPIO_Init(),初始化GPIOBGPIO_Init(macLED1_GPIO_PORT,&GPIO_InitStructure);GPIO_Init()函数的...
HAL_GPIO_Init()函数 该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。 由于是对管脚进行初始化定义,一般在mian()函数初始化中。 而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这个函数。 在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。
在库中我们可以找到gpiopin00x0001gpiomodeoutpp0x10这里推挽输出库里面给出定义0x10真心非常巧妙对比其他7种模式可以知道bit4决定输入还是输出所以代码中有与0x10做位于运算的代码用于区分输入还是输出gpiospeed50mhz3这三个参数包含在结构体中作为函数的输入参数...