diff --git a/rtos/code/driver/na51089/source/mcu/sf_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_mcu.c index 4a7924fa8..572d9177e 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_mcu.c @@ -767,18 +767,39 @@ UINT32 sf_gpio_get_status(UINT32 ipin) } UINT32 sf_in_update(void) { + int i = 0; if((sf_gpio_get_status(GPIO_KEY_TEST)) && (PWR_ON_SETUP == sf_get_power_on_mode())) { - return 1; + while((sf_gpio_get_status(GPIO_KEY_TEST)) && (10 > i)) + { + i++; + vos_util_delay_us(100); + } + if(10 <= i) + { + return 1; + } } return 0; } UINT32 sf_in_mcu_update(void) { - if((sf_gpio_get_status(GPIO_KEY_DOWN)) && (PWR_ON_SETUP == sf_get_power_on_mode())){ - return 1; + int i = 0; + + if((sf_gpio_get_status(GPIO_KEY_DOWN)) && (PWR_ON_SETUP == sf_get_power_on_mode())) + { + while((sf_gpio_get_status(GPIO_KEY_DOWN)) && (10 > i)) + { + i++; + vos_util_delay_us(100); + } + if(10 <= i) + { + return 1; + } } - if(PWR_ON_MCU_UPDATA == sf_get_power_on_mode()){ + if(PWR_ON_MCU_UPDATA == sf_get_power_on_mode()) + { return 1; } return 0;