2,GPIO函数 HAL_GPIO_WritePin 原型:void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); 作用:使得某一个GPIO的Pin的状态变成高电平或者低电平 参数: GPIOx:引脚选择 GPIO_Pin:引脚编号选择 PinState:引脚状态设置 ...
2. HAL_GPIO_WritePin():设置GPIO引脚的状态,参数为GPIO_PinState类型,可以设置为GPIO_PIN_RESET或GPIO_PIN_SET。 3. HAL_GPIO_TogglePin():反转GPIO引脚的状态。 4. HAL_GPIO_ReadPort():读取GPIO端口的状态,返回值为端口上所有引脚状态的位域。 5. HAL_GPIO_WritePort():设置GPIO端口的状态,参数为端口上...
先看函数功能,HAL_GPIO_WritePin函数就是我们的GPIO口输出设置函数。 函数有三个形参: 第一个形参是GPIO_TypeDef *GPIOx,形参描述说:x可以是A到K之间任何一个,而我们是PB4引脚,所以第一个形参确认是GPIOB。 第二个形参是uint16_t GPIO_Pin,看形参描述:该参数可以是GPIO_PIN_x,x可以1到15,那么我们第二个...
第一个形参GPIO_TypeDef *GPIOx,x可以是A~K,通过此参数来选择对应的GPIO外围设备。第二个形参uint16_t GPIO_Pin是指定要写入的端口位(某个pin),这个参数可以是GPIO_PIN_x中的一个,其中x可以是0~15。第三个形参GPIO_PinState PinState是指定要写入到所选位的值,GPIO_PinState参数可以是枚举类型中的GPIO_PI...
/* 初始化(STM32CubeMX自动调用)*/ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) /* 重置*/ void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) /* 读引脚状态 */ GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) /* 写引脚状...
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin); 功能: 外部中断服务函数,清除中断标志位 实例:HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4); void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin); 功能: 中断回调函数,可以理解为中断函数具体要响应的动作。
GPIOB_ODR &= (0<<0); 标准库 //1.配置时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //2.配置引脚 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; ...
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个时钟 ...
在这些 .c .h文件中,包括一些常用量的宏定义,把一些外设也通过结构体变量封装起来,如GPIO口时钟等。所以我们只需要配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能。也是目前最多人使用的方式,也是学习STM32接触最多的一种开发方式,我也就不多阐述了。
voidlcd_st7789_write_reg(uint8_tData) { HAL_GPIO_WritePin(LCD_DC_GPIO_Port,LCD_DC_Pin,GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1,&Data,1,10); } /*** * *LcdWriteData * *Functiondescription: *Writesavaluetoadisplayregister */ voidlcd_st7789_write_data...