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-...
1.设置GPIO引脚函数 函数名称:void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); 第一个参数:GPIOA,B,C,D…(取决于单片机型号) 第二个参数:可以取GPIO_PIN_0~GPIO_PIN_15 第三个参数:GPIO_PIN_SET(置高电平),GPIO_PIN_RESET(置低电平) 例: HAL_GPIO_Wri...
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_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; // 输出模式 GPIO_InitStructure.Pull = GPIO_NOPULL; // 不使用内部上下拉电阻 GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; // 低速 GPIO_InitStructure.Pin = GPIO_PIN_0; // 配置的引脚 HAL_GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化G...
PAPin PAPin*/GPIO_InitStruct.Pin= DONG_OUT_1_Pin|DONG_OUT_2_Pin;//两个GPIO_PINGPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//推挽输出模式GPIO_InitStruct.Pull = GPIO_NOPULL;//浮空,不上拉也不下拉GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;//低速HAL_GPIO_Init(GPIOA, &GPIO_InitStruct...
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) ...
- `HAL_GPIO_ReadPin()`:GPIO输入读取函数,用于读取特定引脚的输入电平。 以下是一个简单的GPIO示例代码,将PA0引脚配置为输出模式,控制LED的亮灭: ```c #include "stm32xxxx.h" // 包含你使用的具体型号的STM32头文件 void GPIO_Init() { GPIO_InitTypeDef GPIO_InitStruct; ...
STM32的HAL库开发系列 - GPIO中断/外部中断EXTI的初始化 在应用中,STM32的GPIO中断/外部中断EXTI常用于外设控制,如按键检测、计数器等。同时也用于其他系统中,如智能家居、智能交通、工业控制等。 这部分一般由CubeMX自动生成,但了解其中的过程也是有必要的。
GPIO复用为其他外设(如 I2C),输出数据寄存器GPIOx_ODR无效;输出的高低电平的来源于其它外设,输入同样可用,通过输入数据寄存器可获取I/O实际状态,除了输出信号的来源改变其他与开漏输出功能相同。 五、HAL库与标准库的GPIO配置结构体对比 1、标准库定义 typedef struct ...