读取GPIO端口的状态,返回值为端口上所有引脚状态的位域。5. HAL_GPIO_WritePort():设置GPIO端口的状态,参数为端口上所有引脚状态的位域。6. HAL_GPIO_LockPin():锁定GPIO引脚,避免误操作。使用这些函数可以方便地对GPIO进行操作,从而实现各种功能。在实际开发中,需要根据具体的需求选择不同的GPIO操作函数。
HAL_GPIO_WritePin 原型:void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); 作用:使得某一个GPIO的Pin的状态变成高电平或者低电平 参数: GPIOx:引脚选择 GPIO_Pin:引脚编号选择 PinState:引脚状态设置 返回值:无 ...
(1)成员Pin用于配置选择的引脚,范围GPIO_PIN_0到GPIO_PIN_15,额外还可以选择GPIO_PIN_All和GPIO_PIN_MASK。(2)成员Mode可以选择:GPIO_MODE_INPUT /* 输入模式 */GPIO_MODE_OUTPUT_PP /* 推挽输出 */GPIO_MODE_OUTPUT_OD /* 开漏输出 */GPIO_MODE_AF_PP /* 复用推挽 */GPIO_MODE_AF_OD /* 复用...
(LCD_DC_GPIO_Port, LCD_DC_Pin, GPIO_PIN_SET); return HAL_SPI_Transmit(hspi_lcd, pData, 1, HAL_MAX_DELAY); } /*** * * LcdWriteReg * * Function description: * Sets display register */ void lcd_st7789_write_reg(uint8_t Data) { HAL_GPIO_WritePin(LCD_DC_GPIO_Port, LCD_DC_...
HAL_GPIO_WritePin(SPI_CLK_GPIO_Port, SPI_CLK_Pin, GPIO_PIN_RESET); /* 时钟空闲为低电平 */ SD_SPI_ReadWriteByte(0xFF); SD_CS_H(); } SD SPI 驱动代码 / //取消选择,释放SPI总线 void SD_DisSelect(void) { SD_CS_H(); SD_SPI_ReadWriteByte(0xff);//提供额外的8个时钟 ...
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); LL 库(支持图形化初始配置) //1.配置时钟 //该函数位于stm32f1xx_ll_bus.h LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); //2.配置引脚 LL_GPIO_InitTypeDef LL_GPIO_InitStructure; ...
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)...
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) 官方的相关文档或是函数定义处(stm32l4xx_hal_gpio.c)会有相关参数的介绍 HAL的函数都有语义化设计特点,从函数名很容易了解函数作用,能够便于开发者阅读和写出更优雅的代码,回顾时能更快分析代码功能。
所以,如果我们要将某个GPIO的某个pin置1的话,例如GPIOA的第2位,可以这样调用此函数: HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET); 如果要查找某个函数或者参数,可以直接在搜索框中进行搜索,如下图查找GPIO_PIN_RESET: 图9.3.2查找功能 ...
第一个形参GPIO_TypeDef *GPIOx,x可以是A~K,通过此参数来选择对应的GPIO外围设备。第二个形参uint16_t GPIO_Pin是指定要写入的端口位(某个pin),这个参数可以是GPIO_PIN_x中的一个,其中x可以是0~15。第三个形参GPIO_PinState PinState是指定要写入到所选位的值,GPIO_PinState参数可以是枚举类型中的GPIO_...