(drivers/gpio/gpiolib.c) 在gpio_desc[]中分配空间,并链接chip结构;注册一个gpio_chip对应的gpio_desc到全局数组gpio描述符中。 int gpiochip_add(struct gpio_chip *chip) { ... if (base < 0) { base = gpiochip_find_base(chip->ngpio);// 这个函数在gpiolib.c中,在gpio_desc[]中分配chip->...
HAL_GPIO_Init()函数 该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。 由于是对管脚进行初始化定义,一般在mian()函数初始化中。 而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这个函数。 在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。 最后 以上的代码会在Q_qun里...
从生成的代码工程目录中打开keil工程,在MX_GPIO_Init(void)函数中会发现我们新添加的USER_KEY按键初始化代码,其模式为输入模式 3.2.2、添加其他必要代码 在主函数的主循环中添加按键扫描及响应函数,如下图所示 源代码如下 if(HAL_GPIO_ReadPin(USER_KEY_GPIO_Port,USER_KEY_Pin) == GPIO_PIN_SET) { HAL_De...
HAL_GPIO_Init()函数 该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。 由于是对管脚进行初始化定义,一般在mian()函数初始化中。 而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这个函数。 在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。 HAL_GPIO_DeInit()函数 该函数...
下面为这些代码的解析:static void MX_GPIO_Init(void):这是一个静态函数,用于初始化GPIO配置。函数名是MX_GPIO_Init,不接收任何参数,返回值为空(void)。 GPIO_InitTypeDef GPIO_InitStruct = {0};:在函数内部创建了一个名为GPIO_InitStruct的结构体变量,用于配置GPIO的初始化参数,并初始化为默认值。
先看一下GPIO的初始化函数; staticvoidMX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct = {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOA_CLK_ENABLE();/*Configure GPIOpin Output Level */HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);//默认输出高/*Configure GPIO pin...
static void MX_GPIO_Init(void):这是一个静态函数,用于初始化GPIO配置。函数名是MX_GPIO_Init,不接收任何参数,返回值为空(void)。 GPIO_InitTypeDef GPIO_InitStruct = {0};:在函数内部创建了一个名为GPIO_InitStruct的结构体变量,用于配置GPIO的初始化参数,并初始化为默认值。
1. GPIO初始化函数 voidHAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); /*** 功能:根据指定参数初始化GPIOx外设 参数定义: GPIOx:其中x可以是(A..H),用于选择STM32系列的GPIO外设 GPIO_Init:指向GPIO_InitTypeDef结构的指针,该结构包含...
HAL_GPIO_Init()函数 该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。 由于是对管脚进行初始化定义,一般在mian()函数初始化中。 而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这个函数。 在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。