summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authoruestczyh222 <[email protected]>2018-02-09 17:03:41 +0800
committeruestczyh222 <[email protected]>2018-02-09 17:03:41 +0800
commit3ea5cd0bdbe882bb63925302210cd0e4f2d328b6 (patch)
tree9438c26cd512e40531365eb8c6fedadc476c23a2 /bsp
parent9bf2a755e05d472435c8f90c161154d8480357b1 (diff)
[Bsp]增强F10x_HAL的GPIO中断逻辑
Diffstat (limited to 'bsp')
-rw-r--r--bsp/stm32f10x-HAL/drivers/drv_gpio.c4
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);