#include "stm32f1xx_hal.h" // GPIO初始化函数 void GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; // 使能GPIOA时钟 __HAL_RCC_GPIOA_CLK_ENABLE(); // 配置GPIOA的Pin0为推挽输出模式 GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 推...
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 2.2开漏输出(Open-Drain Output) 开漏输出模式下,GPIO引脚只能输出低电平或高阻态,需要外部上拉电阻来实现高电平输出,常用于I2C等通信接口。 GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_...
__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...
__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...
6 基于 HAL 库控制 GPIO 6.1 GPIO 外设的数据类型 引脚初始化:采用结构体类型实现,用于定义引脚的序号、工作模式、输出速度等基本特性。 引脚电平状态:采用枚举类型实现,用于定义引脚的电平状态:高电平和低电平。 引脚所属端口:采用结构体指针实现,用于访问该端口所对应的寄存器组。
HAL_GPIO_WritePin()函数 该函数的作用是设置或清除选定的数据端口位。 一般情况下是配置GPIO输出高低电平。 HAL_GPIO_TogglePin()函数 该函数的作用是翻转选定的数据端口位。 一般情况下是切换GPIO输出电平状态。 HAL_GPIO_LockPin()函数 锁定GPIO引脚配置寄存器,就是将GPIO的模式锁定,例如有个GPIO已经设定为推挽输...
“复用功能输出”中的“复用”是指STM32的其他片上外设对GPIO引脚进行控制,此时GPIO引脚用作该外设功能的一部分,算是第二用途。 2.输入 (1) 上拉输入 (2) 下拉输入 (3) 浮空输入 (4) 模拟输入 HAL库gpio配置代码 GPIO_mode: GPIO_MODE_EVT_FALLING下降沿触发检测的外部事件模式 GPIO_MODE_EVT_RISING_FALL...
STM32的HAL库开发系列 - GPIO基本函数 STM32的GPIO(General Purpose Input/Output)是STM32微控制器的一种重要外设,它具有通用输入输出功能。STM32的GPIO可以用来控制外部设备的电平,如LED灯、按键、蜂鸣器等,也可以用来读取外部设备的电平,如温度传感器、光敏电阻等。
`HAL_GPIO_TogglePin()`函数则专门用于翻转选定的数据端口位,其功能是切换GPIO输出电平状态,比如将GPIO从高电平切换到低电平,或者从低电平切换到高电平。`HAL_GPIO_LockPin()`函数用于锁定GPIO引脚配置寄存器,避免在强干扰环境下,意外修改IO模式状态导致的系统意外问题。此函数通常不建议在一般开发中...