void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin); 功能:在函数初始化之后的引脚恢复成默认的状态,即各个寄存器复位时的值 实例:HAL_GPIO_Init(GPIOC, GPIO_PIN_4); GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 功能:读取引脚的电平状态、函数返回值为0或...
HAL_GPIO_Init()是一个开源平台的函数调用,可以使用STM32系列芯片的HAL库来调用它。在调用此函数之前,需要先设置GPIO所使用的时钟,也就是在RCC(Reset and Clock Control)寄存器中配置相应的位。此外,在使用GPIO之前还需要设置GPIO模式、输出模式、输入模式、上拉/下拉模式等。HAL_GPIO_Init()经过...
前面我们在讲解HAL_GPIO_Init函数的时候有提到过:HAL库的EXTI外部中断的设置功能是整合到HAL_GPIO_Init函数里面的,而不是单独独立一个文件。所以我们的外部中断的初始化函数也是用HAL_GPIO_Init函数来实现。这里就不分析HAL_GPIO_Init函数了,感兴趣的小伙伴可以自行分析。 (2)GPIO的模式设置 既然是要用到外部中断,...
GPIO_Init,指向GPIO_InitTypeDef结构的指针,该结构包含指定GPIO外设的配置信息。 函数返回值:无 注意:HAL库的EXTI外部中断的设置功能整合到此函数里面,而不是单独独立一个文件,关于EXTI我们到外部中断实验再细讲。HAL_GPIO_Init函数由于篇幅原因这里不列出函数的具体内容,大家可以直接在HAL库文件中查看。 1. 1...
1、void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); 这个函数我们在stm32f4xx_hal_gpio.c文件中找到它的实体,可以很清楚的看到它的解释(不过是英文,需要点英文基础,不过有不认识的单词可以自己使用工具去翻译),这个函数主要用来初始化我们需要用到的引脚的工作模式,包括具体引脚的工作速...
LED.h中也是类似,定义了每个LED的GPIO引脚,声明了三个函数,分别用于初始化LED(LED_Init())、点亮LED(LED_On())、熄灭LED(LED_Off())。另外6-12行定义了一个枚举类型LEDSelection_TypeDef,这个类型用于选择一个LED。 KEY.c中的程序 现在来看看KEY.c文件。
1. GPIO初始化函数 voidHAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); /*** 功能:根据指定参数初始化GPIOx外设 参数定义: GPIOx:其中x可以是(A..H),用于选择STM32系列的GPIO外设 GPIO_Init:指向GPIO_InitTypeDef结构的指针,该结构包含...
2、然后引用Init函数 USART_InitStructure并不是一个全局结构体变量,而是只在函数内部的局部变量,初始化完成之后,USART_InitStructure就失去了作用。而在HAL库中,同样是USART初始化结构体变量,我们要定义为全局变量。 UART_HandleTypeDef UART1_Handler; ...
初始化GPIO模式 voidHAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) 第一个参数填GPIOA GPIOB GPIOC 等等 第二个参数是结构体 typedefstruct{ uint32_t Pin;/*!< Specifies the GPIO pins to be configured. This parameter can be any value of @ref GPIO_pins_define*/uint32_t ...