diff options
| author | uestczyh222 <[email protected]> | 2018-02-09 17:03:41 +0800 |
|---|---|---|
| committer | uestczyh222 <[email protected]> | 2018-02-09 17:03:41 +0800 |
| commit | 3ea5cd0bdbe882bb63925302210cd0e4f2d328b6 (patch) | |
| tree | 9438c26cd512e40531365eb8c6fedadc476c23a2 /bsp | |
| parent | 9bf2a755e05d472435c8f90c161154d8480357b1 (diff) | |
[Bsp]增强F10x_HAL的GPIO中断逻辑
Diffstat (limited to 'bsp')
| -rw-r--r-- | bsp/stm32f10x-HAL/drivers/drv_gpio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bsp/stm32f10x-HAL/drivers/drv_gpio.c b/bsp/stm32f10x-HAL/drivers/drv_gpio.c index e0701e663b..a61f5ab2ab 100644 --- a/bsp/stm32f10x-HAL/drivers/drv_gpio.c +++ b/bsp/stm32f10x-HAL/drivers/drv_gpio.c @@ -772,18 +772,20 @@ rt_err_t stm32_pin_irq_enable(struct rt_device *device, rt_base_t pin, index->rcc(); /* Configure GPIO_InitStructure */ GPIO_InitStruct.Pin = index->pin; - GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; switch (pin_irq_hdr_tab[irqindex].mode) { case PIN_IRQ_MODE_RISING: GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; break; case PIN_IRQ_MODE_FALLING: GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; + GPIO_InitStruct.Pull = GPIO_PULLUP; break; case PIN_IRQ_MODE_RISING_FALLING: GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; + GPIO_InitStruct.Pull = GPIO_NOPULL; break; } HAL_GPIO_Init(index->gpio, &GPIO_InitStruct); |
