From 1b83e716601b4c7ba981a00be6ecf24a9d549d52 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期三, 20 一月 2021 10:18:56 +0800 Subject: [PATCH] V2.20 1.增加静止时间判定参数,测距有BUG抖动较大 --- Src/stm32l0xx_it.c | 42 +++++++++++++++++++++++++++++------------- 1 files changed, 29 insertions(+), 13 deletions(-) diff --git a/Src/stm32l0xx_it.c b/Src/stm32l0xx_it.c index fb8ecaf..771283c 100644 --- a/Src/stm32l0xx_it.c +++ b/Src/stm32l0xx_it.c @@ -42,7 +42,7 @@ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ - +float nomove_count=0; /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ @@ -61,11 +61,13 @@ extern DMA_HandleTypeDef hdma_usart1_tx; extern UART_HandleTypeDef huart1; /* USER CODE BEGIN EV */ - +float motor_ontime=0; +uint8_t userkey_state = 0; +extern u8 active_flag; /* USER CODE END EV */ /******************************************************************************/ -/* Cortex-M0+ Processor Interruption and Exception Handlers */ +/* Cortex-M0+ Processor Interruption and Exception Handlers */ /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. @@ -91,6 +93,7 @@ while (1) { /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; /* USER CODE END W1_HardFault_IRQn 0 */ } } @@ -148,20 +151,33 @@ void EXTI0_1_IRQHandler(void) { /* USER CODE BEGIN EXTI0_1_IRQn 0 */ - //GPIO_Toggle(MOTOR_GPIO_Port,MOTOR_Pin); + if(GET_IMUINT) + { + nomove_count = 0; + } + + if(!GET_USERKEY) + { + userkey_state = 1; + + if(g_com_map[MOTOR_ENABLE]) + { + MOTOR_ON; + delay_ms(10); + MOTOR_OFF; + } + nomove_count = 0; + waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME; + // UsartInit(); + + // MOTOR_ON; + } + /* USER CODE END EXTI0_1_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1); /* USER CODE BEGIN EXTI0_1_IRQn 1 */ -// HAL_LPTIM_DeInit(&hlptim1); -////HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); -//HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1); -// /*Clear all related wakeup flags*/ -// __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); -// /*Re-enable all used wakeup sources: Pin1(PA.0)*/ -// HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); -// /*Enter the Standby mode*/ -// HAL_PWR_EnterSTANDBYMode(); + //DW_DISABLE; /* USER CODE END EXTI0_1_IRQn 1 */ } -- Gitblit v1.9.3