From 3ac168c9f61e26e181cee32a964d31b6f5807adb Mon Sep 17 00:00:00 2001 From: liufeilong <443199460@qq.com> Date: Wed, 21 Aug 2019 13:40:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=AD=A3gpio=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E4=B8=AD=E6=96=AD=E6=96=B9=E5=BC=8F=E5=AE=8F=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E4=B8=8E1c=E5=BA=95=E5=B1=82=E4=B8=AD=E6=96=AD=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E5=AE=8F=E5=AE=9A=E4=B9=89=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/ls1cdev/drivers/drv_gpio.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/bsp/ls1cdev/drivers/drv_gpio.c b/bsp/ls1cdev/drivers/drv_gpio.c index 5afdae5caa..2203db7775 100644 --- a/bsp/ls1cdev/drivers/drv_gpio.c +++ b/bsp/ls1cdev/drivers/drv_gpio.c @@ -73,8 +73,24 @@ rt_err_t ls1c_pin_attach_irq(struct rt_device *device, rt_int32_t pin, { unsigned int gpio = pin; char irq_name[10]; - - gpio_set_irq_type(gpio, mode); + rt_uint32_t type; + switch (mode) + { + case PIN_IRQ_MODE_RISING: + type=IRQ_TYPE_EDGE_RISING; + break; + case PIN_IRQ_MODE_FALLING: + type=IRQ_TYPE_EDGE_FALLING; + break; + case PIN_IRQ_MODE_HIGH_LEVEL: + type=IRQ_TYPE_LEVEL_HIGH; + break; + case PIN_IRQ_MODE_LOW_LEVEL: + type=IRQ_TYPE_LEVEL_LOW; + break; + } + gpio_set_irq_type(gpio, type); + rt_sprintf(irq_name, "PIN_%d", gpio); rt_hw_interrupt_install(LS1C_GPIO_TO_IRQ(gpio), (rt_isr_handler_t)hdr, args, irq_name); -- GitLab