__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...
HAL_GPIO_WritePin(LED_GPIO_PORT,LED_PIN,GPIO_PIN_RESET); ``` 以上代码通过`HAL_GPIO_WritePin`函数实现了对LED引脚的输出电平控制,从而实现LED的闪烁效果。 3.2控制GPIO输入状态 可以通过HAL库获取GPIO引脚的输入状态。以下是一个读取按钮状态的例子: ```c //读取按钮状态 if(HAL_GPIO_ReadPin(Button_GPIO...
GPIO_Speed_10MHz = 1, //中速 GPIO_Speed_2MHz, //低速 GPIO_Speed_50MHz //高速 }GPIOSpeed_TypeDef; 结构体第三个元素配置的模式 typedef enum { GPIO_Mode_AIN = 0x0, //模拟输入模式 GPIO_Mode_IN_FLOATING = 0x04, //浮空输入模式 GPIO_Mode_IPD = 0x28, //下拉输入模式 GPIO_Mode_IPU ...
使用HAL库进行GPIO编程分为以下几个步骤: 1. 包含必要的头文件和HAL库的相关头文件: ```c #include "stm32f4xx.h" #include "stm32f4xx_hal.h" ``` 2. 初始化GPIO外设: ```c GPIO_InitTypeDef GPIO_InitStructure; ``` 3. 配置GPIO引脚的模式和参数: ...
voidHAL_GPIO_WritePin(GPIO_TypeDef *GPIOx,uint16_tGPIO_Pin, GPIO_PinState PinState){/* Check the parameters */assert_param(IS_GPIO_PIN(GPIO_Pin));assert_param(IS_GPIO_PIN_ACTION(PinState)); if(PinState != GPIO_PIN_RESET){GPIOx-...
2、I2C 接口,若使用400k 波特率,若想把余量留大些,可以选用10M 的GPIO 引脚速度。 3、SPI 接口,若使用18M 或9M波特率,需要选用50M 的GPIO 的引脚速度。 三、HAL库 初始化及重置相关 1. GPIO初始化函数 voidHAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); ...
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) 1. 这个函数主要用来初始化我们需要用到的引脚,设置其工作频率、工作模式、上下拉等参数。 使用CubeMX配置工程,所有参数在Cube中调配,函数自动在工程中生成。 void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) ...
voidHAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) 这个函数主要用来初始化我们需要用到的引脚,设置其工作频率、工作模式、上下拉等参数。 使用CubeMX配置工程,所有参数在Cube中调配,函数自动在工程中生成。 voidHAL_GPIO_DeInit(GPIO_TypeDef *GPIOx,uint32_t GPIO_Pin) ...