From ae079c1fc5d990ba55714d4b3a51b19f96edaec4 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 24 四月 2025 16:01:43 +0800 Subject: [PATCH] 改为中断来低电平触发发送当前扫描数据,3s内扫描不到的会退出,串口来55 AA 75 70 64 61 74 65,进入升级模式 --- 01_SDK/modules/hal/panchip/panplat/pan1070/bsp/peripheral/src/pan_hal_gpio.c | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 insertions(+), 4 deletions(-) diff --git a/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/peripheral/src/pan_hal_gpio.c b/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/peripheral/src/pan_hal_gpio.c index 9d0d2f6..8bac104 100644 --- a/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/peripheral/src/pan_hal_gpio.c +++ b/01_SDK/modules/hal/panchip/panplat/pan1070/bsp/peripheral/src/pan_hal_gpio.c @@ -142,6 +142,9 @@ HAL_GPIO_CallbackArray[port * GPIO_PIN_MAX + bit] = intInitStruct->callbackFunc; + /* Clear int src flag of current pin before interrupt configuration flow */ + GPIO_ClrIntFlag(GPIOx, BIT(bit)); + /*--------------------- GPIO Interrupt Configuration ------------------------*/ if (intInitStruct->intMode == HAL_GPIO_INT_DISABLE) { @@ -215,22 +218,58 @@ } } -void GPIO0_IRQHandler(void) +__WEAK void GPIO0_IRQHandlerOverlay(void) { GPIO_IRQHandler(P0, 0, GPIO_P0_PIN_NUM); } -void GPIO1_IRQHandler(void) +__WEAK void GPIO1_IRQHandlerOverlay(void) { GPIO_IRQHandler(P1, 1, GPIO_P1_PIN_NUM); } -void GPIO2_IRQHandler(void) +__WEAK void GPIO2_IRQHandlerOverlay(void) { GPIO_IRQHandler(P2, 2, GPIO_P2_PIN_NUM); } -void GPIO3_IRQHandler(void) +__WEAK void GPIO3_IRQHandlerOverlay(void) { GPIO_IRQHandler(P3, 3, GPIO_P3_PIN_NUM); } + +void GPIO0_IRQHandler(void) +{ + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO0_IRQ, 1); + + GPIO0_IRQHandlerOverlay(); + + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO0_IRQ, 0); +} + +void GPIO1_IRQHandler(void) +{ + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO1_IRQ, 1); + + GPIO1_IRQHandlerOverlay(); + + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO1_IRQ, 0); +} + +void GPIO2_IRQHandler(void) +{ + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO2_IRQ, 1); + + GPIO2_IRQHandlerOverlay(); + + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO2_IRQ, 0); +} + +void GPIO3_IRQHandler(void) +{ + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO3_IRQ, 1); + + GPIO3_IRQHandlerOverlay(); + + PAN_IO_TIMING_TRACK_LEVEL(CONFIG_TRACK_PIN_GPIO3_IRQ, 0); +} -- Gitblit v1.9.3