STM32 HAL库中与GPIO读取相关的函数是HAL_GPIO_ReadPin。这个函数用于读取指定GPIO引脚的当前状态(高电平或低电平)。 2. 初始化GPIO硬件及相关配置 在读取GPIO状态之前,需要先对GPIO进行初始化配置。这包括使能GPIO时钟、配置GPIO引脚的模式(输入、输出等)以及其他相关参数(如上拉/下拉电阻、速度等)。 以下是GPIO初...
__HAL_RCC_GPIOA_CLK_ENABLE();//使能GPIOA时钟/*Configure GPIO pin Output Level*/HAL_GPIO_WritePin(GPIOA, DONG_OUT_1_Pin|DONG_OUT_2_Pin, GPIO_PIN_RESET);//设置上电电平为低/*Configure GPIO pins : PAPin PAPin*/GPIO_InitStruct.Pin= DONG_OUT_1_Pin|DONG_OUT_2_Pin;//两个GPIO_PINGP...
GPIO_InitTypeDef*GPIO_Init);//复位函数voidHAL_GPIO_DeInit(GPIO_TypeDef*GPIOx,uint32_t GPIO_Pin);//读取引脚状态函数GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin);//写引脚函数voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint...
(HAL_GPIO_ReadPin(KEY_0_GPIO_Port,KEY_0_Pin)==GPIO_PIN_RESET); //wait until the key is released return a; } uint8_t KEY_1(void) { uint8_t a; a=0;// if not entered into key process, return 0 if(HAL_GPIO_ReadPin(KEY_1_GPIO_Port,KEY_1_Pin)==GPIO_PIN_RESET){// read...
一 初始化GPIO 使用HAL库的优点在于不用手动添加初始化的代码了,CubeMX会根据软件设置自动生成。 自动生成的HAL库GPIO初始化代码: staticvoidMX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct;/*GPIO Ports Clock Enable*/__HAL_RCC_GPIOH_CLK_ENABLE(); ...
读取GPIO引脚状态:使用HAL_GPIO_ReadPin函数读取GPIOE端口上的KEY_Pin引脚的状态。如果引脚的状态为低电平(0),则执行下面的操作。 控制LED引脚状态:使用HAL_GPIO_TogglePin函数来切换GPIOC端口上的LED0_Pin引脚的状态。这个操作会将LED的状态从亮变暗或从暗变亮。
我们现在需要按键检测,这是检测GPIO输入,还是同样的我们需要先去设置GPIO 这个在上面的基础上就可以继续编辑。 首先查阅原理图,可以发现按键分别是PA0和PC13,我们把PA0和PC13配置为输入,然后生成工程。 我们打开工程,在主函数的while里面添加下面代码: if(HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==GPIO_PIN_...
成员Alternate用于配置引脚复用,可选择的复用方式在文件stm32h7xx_hal_gpio_ex.h里面进行了定义,比如串口复用: 代码语言:javascript 复制 GPIO_AF7_USART1GPIO_AF7_USART2GPIO_AF7_USART3GPIO_AF7_USART6GPIO_AF7_UART7 注意事项: 与F1,F4系列的标准库不同,H7的HAL库已经没有单独的EXTI外部中断设置文件,是...
GPIO_Pin:指定要写入的端口位;此参数可以是GPIO_Pin_x的任意组合,其中x可以是(0..15)。 ***/ IO 口操作相关 3、读取指定GPIO的值 GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) /*** 参数定义: GPIOx:其中x可以是(A..H),用于...